#nginx #http2
#nginx #http2
Вопрос:
Я создал плагин thunderbird, работающий на tb v45, он использует nsIXMLHttpRequest и XMLHttpRequest для отправки и получения данных с сервера, сервер настроен на nginx с использованием протокола http2.
журнал
"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?
Ответ №1:
На самом деле это не имело никакого отношения к заголовкам, но ngnix и настройкам
Thunderbird не понравился ssl-сертификат и шифры в настройке http2, на http1 все было в порядке, поэтому мне пришлось установить это в nginx.conf
Кажется, что Thunderbird не понравились некоторые старые шифры, затем проверил это https://www.ssllabs.com/ssltest/analyze.htm для предварительной модификации и увидел, что моделирование рукопожатия не работает на старых шифрах. Следовательно, с помощью приведенных ниже настроек я смог заставить Thunderbird правильно работать с API и SSL-сертификатом. Раньше у меня был рейтинг B на Qualys, теперь он A , и все отлично работает
ssl_prefer_server_ciphers on;
ssl_ciphers EECDH CHACHA20:EECDH AES128:RSA AES128:EECDH AES256:RSA AES256:EECDH 3DES:RSA 3DES:!MD5;