Ssl

為什麼 SSL 在我的 AWS ELB 上不起作用?

  • December 20, 2016

我正在嘗試為我的網站設置 SSL 證書。this site can't be reached但是我的網站在 Chrome 中響應。

在證書管理器中,它顯示我的證書的關聯資源是我的 ELB。ELB 設置為 HTTPS,埠 443。其目標組是 HTTP,埠 80。瀏覽 http/80 時站點正常工作。我在想我的設置將意味著使用者點擊 HTTPS ELB,然後 ELB 將使用埠 80 為我的站點提供服務。

httpstat https://www.ereverse.com輸出:

> curl -w <output-format> -D <tempfile> -o <tempfile> -s -S ereverse.com curl error: curl: (7) Failed to connect to www.ereverse.com port 443: Connection refused

我還應該注意我的應用程序是通過 docker 執行的,它在執行-p 80:5000Dockerfile使用EXPOSE 80 443.

基於此錯誤,假設您的 ELB 在埠 443 上有一個偵聽器…

Connection refused

…最明顯的解釋是您的 DNS 實際上並未指向 ELB。使用dignslookup來驗證。

配置有監聽器的 ELB 不會拒絕連接。安全組和網路 ACLS 也不會拒絕連接——如果配置錯誤,你會得到的結果是Connection timed out,因為它們通過丟棄拒絕流量——而不是通過強制關閉連接嘗試,這Connection refused意味著:連接使一切到另一端的伺服器的方式,它主動返回了一條消息(實際上)說:“我不知道你為什麼認為我想在埠 443 上交談。這裡沒有在那個埠上監聽。”

輕鬆檢查:使用 HTTPS 直接連接到 AWS 控制台中顯示的 ELB 主機名。您應該會看到證書警告,因為證書不匹配。如果發生這種情況,ELB 已啟動並正在偵聽,這表明 DNS 條目直接指向您的實例,而不是平衡器。

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