Amazon-Web-Services
AWS 負載均衡器 Https 在 http 上監聽 EC2
我的網站在 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。