Nginx
Laravel Forge/LetsEncrypt SSL 錯誤“SSL_ERROR_NO_CYPHER_OVERLAP”
一些使用者抱怨由於“安全連接失敗”(即 SSL)而無法訪問我們的網站。提供的實際錯誤程式碼是
SSL_ERROR_NO_CYPHER_OVERLAP
.伺服器是 ubuntu 18.04 的 nginx。SSL 已通過 laravel forge LetsEncrypt 按鈕安裝。
我已經使用https://www.ssllabs.com測試了我們的 4 個網站,並且似乎都出現了相同的錯誤。
錯誤僅與某些瀏覽器/作業系統(通常是舊版本)有關,即
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
我按照 mozilla 的建議將 TLS 版本和密碼證書修改為中間設置。它現在僅作為現代瀏覽器的預設 Forge 設置出現,這意味著許多都是無效的。
https://mozilla.github.io/server-side-tls/ssl-config-generator/
重新執行https://www.ssllabs.com/測試顯示瀏覽器兼容性沒有錯誤,但密碼強度水平有所降低。所以我想更多的兼容性和更少的安全性。
如果有人對更好的方法有任何意見,請提出建議。