S1l*_*0rm 33 nginx reverse-proxy http2
我在能够执行 HTTP/2.0 的后端网络服务器前使用 nginx 作为反向 ssl 代理。
我注意到 nginx 通过 HTTP/1.1 而不是 HTTP/2.0 代理对后端服务器的请求。是否可以告诉 nginx 使用未加密的 HTTP/2.0 连接?这会提高性能吗?
S1l*_*0rm 28
发现这个:https : //trac.nginx.org/nginx/ticket/923
在可预见的未来,没有计划在代理模块中实现 HTTP/2 支持
来自票证中引用的邮件的摘录:
几乎没有实现它的意义,因为 HTTP/2 的主要好处是它允许在单个连接中多路复用多个请求,因此 [几乎] 消除了对同时请求数量的限制 - 并且在与之交谈时没有这样的限制你自己的后端。此外,在后端使用 HTTP/2 时,情况可能会变得更糟,因为使用的是单个 TCP 连接而不是多个 TCP 连接。
小智 7
遗憾的是 nginx 不支持代理到 http/2 后端服务器,引用自https://www.nginx.com/blog/http2-module-nginx/#QandA
问:你们会在上游也支持 HTTP/2,还是只在客户端支持 HTTP/2?
A:目前我们只在客户端支持 HTTP/2。你不能用 proxy_pass 配置 HTTP/2。[编辑器-在这篇文章的原始版本中,这句话被错误地转录为“您可以使用 proxy_pass 配置 HTTP/2”。对于由此可能造成的任何混乱,我们深表歉意。]
但是后端侧的 HTTP/2 有什么意义呢?因为正如您从基准测试中看到的,HTTP/2 对于低延迟网络(例如上游连接)没有太大好处。
此外,在 NGINX 中,您有 keepalive 模块,您可以配置一个 keepalive 缓存。HTTP/2 的主要性能优势是消除了额外的握手,但如果您已经使用 keepalive 缓存做到了这一点,则上游端不需要 HTTP/2。
归档时间: |
|
查看次数: |
43715 次 |
最近记录: |