标签: http/2

  • nginx反向代理HTTP/2报协议错误

    curl报的错误如下

    curl: (92) Invalid HTTP header field was received: frame type: 1, stream: 1, name: [upgrade], value: [h2,h2c]

    用浏览器的话也会报连接错误
    造成这种问题的原因是反向代理的上游开启了HTTP/2,然后nginx通过HTTP/1.1与上游连接,这样上游返回的报文中就会添加Upgrade头来要求升级到HTTP/2连接。
    知道了原因就好解决了,可以采取以下方法

    • 关闭上游服务器的HTTP/2

    • 使用HTTP/2或H2C与上游连接

      nginx不支持

    • 过滤Upgrade头

      proxy_hide_header Upgrade;

    Views: 22