如何为无 ALPN 客户端配置 Nginx 仅支持 HTTP2
Posted
技术标签:
【中文标题】如何为无 ALPN 客户端配置 Nginx 仅支持 HTTP2【英文标题】:How to config Nginx Only Support HTTP2 for No ALPN Clients 【发布时间】:2020-11-30 09:32:18 【问题描述】:情况如下: 我们的客户想要支持一些旧的 ios mac 系统,它使用的网络库不支持 ALPN。我们的服务器设置为只接受 gRPC 请求,因此服务器不需要接受 HTTP1.1 请求。
那么如何禁用 nginx 接受 HTTP1.1 请求,只启用 HTTP2 支持并跳过 ALPN?
我尝试让 Nginx 默认支持 http2,但它仍然涉及 ALPN 过程。
【问题讨论】:
【参考方案1】:似乎 nginx 是基于 ALPN 的 http2,所以没有解决方法。
我们的客户要求仅提供 http2 服务,因为他们使用的其他产品正在使用带有特使代理的 gRPC。 Envoy 似乎有能力在没有 alpn 的情况下提供仅 http2 的服务,但有待于找出原因(因为文档没有明确说明)
【讨论】:
以上是关于如何为无 ALPN 客户端配置 Nginx 仅支持 HTTP2的主要内容,如果未能解决你的问题,请参考以下文章
sh RPM使用静态OpenSSL 1.1在CentOS 6/7上使用ALPN构建Nginx 1.11.x(在Chrome中支持http / 2支持需要1.02+)
如何为 WebSocket 协议配置 AWS ELB 和 Nginx? [关闭]
我可以在没有 ALPN 支持的情况下实现 http/2 服务器吗?