【问题标题】:nginx accept both http1 and http2nginx 接受 http1 和 http2
【发布时间】:2017-02-26 20:06:10
【问题描述】:

我在 tb v45 上构建了一个 Thunderbird 插件,它使用 nsIXMLHttpRequest 和 XMLHttpRequest 从服务器发布和获取数据,服务器已经使用 http2 协议在 nginx 上设置。

日志是

  "POST /service/v2/api HTTP/1.1" 502 1266 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 Lightning/4.7.4"

因此网关不好。我认为这个 http 设置是向后兼容的。

   listen 443 ssl http2 default_server;
   listen [::]:443 ssl http2 default_server;

如何让 nginx 设置接受 http1 或 nsIXMLHttpRequest 发送正确的标头以便它使用 http2?

【问题讨论】:

    标签: nginx http2


    【解决方案1】:

    这真的与标头无关,而是 ngnix 和设置

    Thunderbird 不喜欢 http2 设置上的 ssl 证书和密码,在 http1 上很好,所以我不得不在 nginx.conf 中设置它

    似乎 Thunderbird 不喜欢某些旧密码,然后对照https://www.ssllabs.com/ssltest/analyze.htm 进行了预修改,发现握手模拟在旧密码上失败了。因此,通过以下设置,我能够让 Thunderbird 正确使用 API 和 SSL 证书。之前我在 Qualys 上的评分为 B,现在它的评分为 A+,一切正常

     ssl_prefer_server_ciphers on;
     ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
    

    【讨论】:

      猜你喜欢
      • 2019-08-09
      • 2017-06-02
      • 2020-01-20
      • 2017-08-29
      • 2018-08-22
      • 2020-12-30
      • 2019-02-25
      • 2017-11-03
      • 2020-05-06
      相关资源
      最近更新 更多