Amazon-Web-Services

在 AWS 網路負載均衡器後面將 HTTP 重寫為 HTTPS 時的 Apache 重定向循環

  • September 12, 2019

現有的解決方案對我沒有幫助,所以我必須遺漏其他東西。

所以我試圖在 AWS 網路負載均衡器後面設置一個使用 Apache 2.4/CentOS 7 的網站。

我在 httpd.conf 中使用它來重寫 HTTP->HTTPS,這也被認為是僅在 AWS 的負載均衡器後面實現 HTTPS 的正確方法。 RewriteEngine On RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule .* <https://%>{SERVER_NAME}/$1 [L,R=permanent]

我的伺服器的 DNS 名稱在哪裡SERVER_NAME,它解析為負載均衡器的 IP 地址。

<https://%>{HTTP:Host}/也試過不成功。

沒有這個,訪問伺服器是沒有問題的(當然可以使用 HTTP 除外)。

由於負載均衡器是客戶端的加密端點,我只在網路伺服器上的 80 埠上監聽。這是 AWS 的預期實施方式。

然而,使用這個,伺服器將無休止地重定向我的請求,直到瀏覽器放棄。最初嘗試連接 HTTPS 時也會發生這種情況**。**

Apache 的調試級日誌輸出沒有顯示任何錯誤,只是請求超時並且負載平衡器日誌也不是很有幫助。但也許你可以從中理解。

我也想過 SELinux 會造成麻煩,但它被設置為允許的。所以它實際上不應該任何事情。

Apache access_log:https ://textuploader.com/10cjh

Apache 錯誤日誌:https ://textuploader.com/10cjx

負載均衡器:https ://textuploader.com/10cjg

非常感謝任何幫助。

因此解決方案是使用 Application Load Balancer 而不是 Network Load Balancer。

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