我有以下基础设施:
80 -> Varnish -> Backend (NGINX, port 8080)
443 -> NGINX (SSL-Termination with HTTP/2 enabled) -> Varnish -> Backend (NGINX, port 8080)
Run Code Online (Sandbox Code Playgroud)
我知道可以HTTP/2使用-p feature=+http2Varnish(端口 80)的参数为前端连接启用协议,但是后端连接呢?varnishlog -b向我展示了所有后端通信都是使用HTTP/1.0和执行的HTTP/1.1。
如果有人能告诉我有关 Varnish 和 NGINX 的常见做法,我会非常高兴:
HTTP/2后端连接?-p feature=+http2为443 -> NGINX (SSL-Termination with HTTP/2 enabled) -> Varnish通信启用参数对性能有意义吗?关于后端通信(未加密):我知道这HTTP/2与 TLS 加密有关,但也许有一些我没有听说过的调整,所以这就是为什么我认为最好询问以确保 100% 确定。感谢您的理解。
@Michael Hampton 的回答缺少一些要点,所以这里是:
Varnish是一种在 Hitch+Varnish 组合中执行 HTTP/2 的软件,但大多数浏览器都需要 TLS 连接才能使 HTTP/2 工作。也就是说,HTTP/2 需要 TLS 连接,这是当今的基本要求。
Varnish Plus 确实支持 TLS,而 Varnish 开源不支持。
至于答案:
-p feature=+http2。因为 NGINX 根本不会与其后端 (Varnish) 对话 HTTP/2,类似于 Varnish 不会与其后端对话 HTTP/2(例如 NGINX+PHP-FPM),因为它没有意义(请参阅前一点)。那说:
-p feature=+http2Hitch + Varnish 组合确实有意义。-p feature=+http2NGINX(流)+ Varnish 组合也是有意义的。但事实并非如此。因此,它无法“正确终止 TLS 以让 HTTP/2 正常工作”。| 归档时间: |
|
| 查看次数: |
2683 次 |
| 最近记录: |