本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
本主題說明如何在最終使用者仍啟動應用程式時處理應用程式的 HTTP 流量。您需要設定 HTTP 到 HTTPS 重新導向 (有時稱為強制 HTTPS) 來這麼做。
要設定重新導向,您先設定您的環境,來處理 HTTPS 流量。然後您便可以將 HTTP 流量重新導向到 HTTPS。這兩個步驟會在下列小節討論。
設定您的環境以處理 HTTPS 流量
取決於您環境的負載平衡組態,請執行以下其中一項作業:
-
負載平衡環境 – 設定您的負載平衡器以終止 HTTPS。
-
單一執行個體環境 – 設定您的應用程式以終止執行個體上的 HTTPS 連線。此組態取決於您環境的平台。
將 HTTP 流量重新導向至 HTTPS
若要將 HTTP 流量重新導向至應用程式的 HTTPS,您可以在環境的執行個體上設定 Web 伺服器,也可以設定環境的 Application Load Balancer。
設定執行個體 Web 伺服器
此方法適用於任何 Web 伺服器環境。在 Amazon EC2 執行個體上設定 Web 伺服器,以使用 HTTP 重新導向回應狀態來回應 HTTP 流量。
此組態取決於您環境的平台。尋找在 GitHub 上在 https-redirect
如果您的環境使用 Elastic Load Balancing 運作狀態檢查,負載平衡器預期運作狀態良好的執行個體會使用 HTTP 200 (OK) 回應來回應該 HTTP 運作狀態檢查訊息。因此,Web 伺服器不應將這些訊息重新導向到 HTTPS。在 https-redirect
設定負載平衡器
如果您有使用 Application Load Balancer 的負載平衡環境,則此方法可運作。Application Load Balancer 可以在 HTTP 流量進入時傳送重新導向回應。在這種情況下,您不需要在環境的執行個體上設定重新導向。
我們在 GitHub 上有兩個範例組態檔案,說明如何設定 Application Load Balancer 進行重新導向。
-
alb-http-to-https-redirection-full.config
組態檔案會在連接埠 443 上建立 HTTPS 接聽程式,並修改預設的連接埠 80 接聽程式,使其將傳入的 HTTP 流量重新導向至 HTTPS。 -
alb-http-to-https-redirection.config
組態檔案預期會定義 443 接聽程式。若要定義它,您可以使用標準 Elastic Beanstalk 組態命名空間或 Elastic Beanstalk 主控台。然後其會負責修改連接埠 80 接聽程式以進行重新導向。