Некоторые пользователи жаловались, что они не могут получить доступ к нашему сайту из-за «сбоя безопасного соединения», то есть SSL. Фактический предоставленный код ошибки: SSL_ERROR_NO_CYPHER_OVERLAP
.
Сервер - это nginx с ubuntu 18.04. SSL был установлен с помощью кнопки LetsEncrypt в laravel forge.
Я протестировал 4 наших сайта, используя https://www.ssllabs.com и все, похоже, имеют одинаковые ошибки.
Ошибки связаны только с определенными браузерами / ОС (обычно более старыми версиями), т.е.
Chrome 49 / XP SP3 Server sent fatal alert: handshake_failure
Я также заметил, что на моем сайте поддерживается только протокол TLS 1.2, поэтому я предполагаю, что эти старые браузеры используют более старый протокол.
| Protocols | |
|----------------------------------------------|-----|
| TLS 1.3 | No |
| TLS 1.2 | Yes |
| TLS 1.1 | No |
| TLS 1.0 | No |
| SSL 3 | No |
| SSL 2 | No |
| For TLS 1.3 tests, we only support RFC 8446. | |
Кто-нибудь сталкивался с этой проблемой раньше или есть какие-либо советы по ее дальнейшей диагностике.
Одно из возможных исправлений - отредактировать конфигурацию сертификата SSL в:
sudo nano /etc/nginx/sites-enabled/yoursite.com
Я изменил версию TLS и сертификаты шифров на промежуточные настройки, как рекомендовано Mozilla. Он отображается как настройка Forge по умолчанию только для современных браузеров, что означает, что многие из них недействительны.
https://mozilla.github.io/server-side-tls/ssl-config-generator/
Повторный запуск https://www.ssllabs.com/ test не показывает ошибок с совместимостью с браузером, но немного снизил уровень стойкости шифра. Так что я полагаю, что больше совместимости с немного меньшей безопасностью.
Если у кого-то есть комментарии по поводу лучшего способа сделать это, пожалуйста, сообщите.