我构建了一个在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?
答案 0 :(得分:0)
这与标题完全无关,但是ngnix和设置
Thunderbird不喜欢http2设置上的ssl cert和ciphers,它在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;