nginx是否支持http2在上游服务器上?

30byixjq  于 2023-10-17  发布在  Nginx
关注(0)|答案(1)|浏览(168)

我一直在尝试在nginx中配置http2。我正在尝试将nginx配置为反向代理。我在前端发送http2到nginx服务器,它似乎工作正常,但是当请求被代理到上游服务器时,nginx在TLS握手期间没有添加alpn扩展
下面是我的代理配置

location / {
             proxy_pass https://example.com/;
             proxy_ssl_certificate    "path_to_certificate";
             proxy_ssl_certificate_key     "path_to_key";
             proxy_ssl_protocols           TLSv1 TLSv1.1 TLSv1.2;
             proxy_ssl_ciphers             HIGH:!aNULL:!MD5;
             proxy_ssl_verify off;
    }

所以我想知道nginx在后端(上游服务器)支持http2吗?如果是,它支持哪个版本的nginx?1.任何帮助都非常感谢
我试图从nginx建立到上游服务器的http2连接。我希望nginx与上游服务器协商http2

ac1kyiln

ac1kyiln1#

NGINX不支持“HTTP/2到后端”。这一点从文件中可以明显看出。后端的最大HTTP版本是1.1。
实际上,增加这样的支持没有什么意义。HTTP/2的主要特性是请求多路复用。当你处理HTTP缓存时,前端NGINX会将 * 一个请求 * 路由到后端的一个匹配位置。因此,当我们谈论HTTP拦截时,这个级别在HTTP级别上进行流量检查,以便检查头部,URI以适当地路由请求。因此,它总是关于检查单个请求并将其路由到某个地方,多路复用在这里几乎不适用。
即使你要切换到上面的一层,也就是TCP(因此,NGINX的stream模块),NGINX也不支持它。NGINX的流模块无法协商ALPN协议。(reference

相关问题