Amazon-Web-Services

AWS 負載均衡器 Https 在 http 上監聽 EC2

  • February 1, 2018

我的網站在 EC2 實例中執行,Apache2 在 80 上監聽。

因為它應該使用 https,所以我配置了一個 AWS 負載均衡器。向負載均衡器添加了 ACM 證書。

在 Route53 的域別名中添加了負載均衡器的 dns。

負載均衡器監聽 443 並重定向到 EC2 實例的 80。

將 EC2 安全組配置為僅接受來自 ELB 安全組在埠 80 上的連接。

現在的問題是,當我訪問我的網站時,它顯示的內容沒有 js 和 css。

說,“這個頁面試圖從未經身份驗證的來源載入腳本”。

這些腳本和样式表位於 EC2 實例中。

使所有腳本、樣式表、圖像通過 https 載入的正確方法是什麼?

如果您希望 ELB 終止 SSL,這是一個應用程序問題而不是伺服器問題。

它終止了 ELB 上的 ssl 並將 http 傳回網路伺服器。因此,您的應用程序看到了正常的 http 流量。ELB 為流量添加了一個特殊的標頭,讓其背後的任何東西都知道流量是 SSL,以防它想用 https:// 發回返回連結/js/css/images 之類的東西

它發回以下標頭

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Proto

您的應用程序必須足夠聰明,可以說架構是 https 或者設置了此標頭,因此它的 ssl .. 如果不是 http。

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