Amazon-Web-Services

如何在 AWS Application Load Balancer 上將 HTTP 重定向到 HTTPS?

  • April 9, 2021

我們的網站需要 HIPAA 合規性,因此所有內容都需要加密。我不希望客戶端在輸入“ http://mysite.com ”時收到錯誤消息,因此我需要同時支持 HTTP 和 HTTPS,並將 HTTP 重定向到 HTTPS。我對嗎?

我在網路伺服器上正確地做到了。因此,如果我直接連接到 Web 伺服器,HTTP 會自動重定向到 HTTPS。都好。

但是 Web 伺服器位於 AWS 應用程序負載均衡器後面。我不知道如何在 ELB 上將 HTTP 重定向到 HTTPS。所以客戶端瀏覽器仍然可以通過 HTTP 連接到 ELB。

如何在 AWS Application Load Balancer 上設置 HTTP => HTTPS?

換句話說,我確定 ELB 和 Web 伺服器之間的連接是 HTTPS,但是如何確保客戶端瀏覽器和 ELB 之間的連接是 HTTPS 呢?

您可以將下面列出的配置添加到您的 .htaccess 文件中。但在此之前,請確保在伺服器上啟用了 mod_rewrite 並且 .htaccess 文件未被拒絕。

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule . https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]

有關詳細說明,請查看 aws end 的官方文件。 https://aws.amazon.com/premiumsupport/knowledge-center/redirect-http-https-elb/

截至 2018 年 7 月,應用程序負載均衡器支持此功能。

  • 添加/編輯您的HTTP:80聽眾
  • 將動作設置為Redirect
  • 協議:https
  • 港口:443
  • 將下一個下拉菜單設置為Original host, path, query
  • 將最後一個下拉菜單設置為301 - Permanently moved

AWS 應用程序負載均衡器上的 HTTP 到 HTTPS 偵聽器的設置圖像

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