Nginx

非 SSL 站點通過 HTTPS:// 訪問時返回“無法連接”是否正常

  • August 25, 2016

我說的只是沒有任何 SSL 證書(自簽名或授權)的伺服器。

如果通過(eg ) 訪問,沒有任何關於 SSL(預設配置,乾淨安裝的 apache/nginx)的站點返回Unable to connect(firefox) 或(chrome) 是否正常?refused to connect``https``https://example.com

真的是真的還是我的伺服器上的配置錯誤

雖然我同意標題中“非 SSL”的其他答案,但問題正文中實際上有一個未排除的中間;SSL/TLS 確實有一些不使用伺服器證書的****密碼套件:一些完全未經身份驗證(匿名)和一些通過非證書方式(PSK 或 Kerberos)進行身份驗證。這些很少使用,經常被禁止,有時未實現。

HTTPS 作為 SSL/TLS 的一種應用程序(配置文件)不應使用這些,因為 RFC2616 指定將 URL 授權的主機身份與證書匹配,但在技術上是可行的。瀏覽器(AFAIK all)不實現它們,但其他一些客戶端可以實現。AFAICT 無法配置 Apache 或 nginx 來選擇它們,但其他伺服器(或像 ALG、IDS/IPS/DLP 或前端/負載均衡器這樣的準伺服器)可能而且這樣做相當容易在 Java 中,如果您使用未正確設置的密鑰庫(通常是由於遵循某些網站的錯誤建議)並啟用所有支持的協議(遵循許多網站的錯誤建議,甚至是 stackexchange)。

在這種情況下,如果伺服器正在偵聽 443 但沒有證書

  • IE(11) 顯示“頁面無法顯示…不支持的協議或密碼…”
  • FF(47) 顯示“您的連接不安全……網站$$ configured $$不當$$ NO_CYPHER_OVERLAP $$"
  • Chrome(52) 顯示“此站點無法提供安全連接……不支持的協議……ERR_SSL_VERSION_OR_CYPHER_MISMATCH”

引用自:https://serverfault.com/questions/798949