為 Application Load Balancer 建立 HTTPS 接聽程式 - Elastic Load Balancing

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

為 Application Load Balancer 建立 HTTPS 接聽程式

接聽程式會檢查連線請求。當您在立負載平衡器時便定義接聽程式,然後可隨時新增接聽程式到您的負載平衡器。

若要建立 HTTPS 接聽程式,您必須在負載平衡器上部署至少一個 SSL 伺服器憑證。負載平衡器使用伺服器憑證終止前端連接,然後解密用戶端的請求,再將它們傳送到目標。您還必須指定安全政策,用於交涉用戶端和負載平衡器之間的安全連線。

如果您需要將加密流量傳遞給目標,而不需要負載平衡器解密流量,就可以建立在連接埠 443 上具有 TCP 接聽程式的 Network Load Balancer 或 Classic Load Balancer。使用 TCP 接聽程式時,負載平衡器會將加密的流量傳遞給目標,而不需要對流量進行解密。

此頁面的資訊協助您為負載平衡器建立 HTTPS 接聽程式。若要將 HTTP 接聽程式新增至您的負載平衡器,請參閱為 Application Load Balancer 建立 HTTP 接聽程式

先決條件

  • 若要新增轉送動作到預設的接聽程式規則,您必須指定可用的目標群組。如需詳細資訊,請參閱為您的 Application Load Balancer 建立目標群組

  • 您可以在多個接聽程式中指定相同的目標群組,但這些接聽程式必須屬於相同的負載平衡器。若要將目標群組與負載平衡器搭配使用,您必須確認沒有其他負載平衡器的接聽程式使用該目標群組。

  • Application Load Balancer 不支援 ED25519 金鑰。

新增 HTTPS 接聽程式

您可以使用通訊協定和連接埠來設定接聽程式,以便從用戶端連線至負載平衡器。如需詳細資訊,請參閱接聽程式組態

建立安全接聽程式時,您必須指定安全政策和憑證。若要將憑證新增至憑證清單,請參閱 將憑證新增至憑證清單

您必須為接聽程式設定預設規則。您可以在建立接聽程式之後新增其他接聽程式規則。如需詳細資訊,請參閱接聽程式規則

Console
新增 HTTPS 接聽程式
  1. 前往 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格上選擇 Load Balancers (負載平衡器)

  3. 選取負載平衡器。

  4. 接聽程式和規則索引標籤上,選擇新增接聽程式

  5. 請在 Protocol (通訊協定) 中選擇 HTTPS。保留預設連接埠或輸入不同的連接埠。

  6. (選用) 若要新增身分驗證規則,請選取驗證使用者選擇身分提供者,並提供必要資訊。如需詳細資訊,請參閱使用 Application Load Balancer 來驗證使用者身分

  7. 針對路由動作,選取下列其中一個路由動作,並提供必要資訊:

    • 轉送至目標群組 – 選擇目標群組。若要新增另一個目標群組,請選擇新增目標群組、選擇目標群組、檢閱相對百分比,並視需要更新權重。如果您在任何目標群組上啟用粘性,則必須啟用群組層級粘性。

      如果您沒有符合您需求的目標群組,請選擇建立目標群組以立即建立目標群組。如需詳細資訊,請參閱建立目標群組

    • 重新導向至 URL – 在 URI 部分索引標籤上分別輸入每個部分,或在完整 URL 索引標籤上輸入完整地址,以輸入 URL。針對狀態碼,根據您的需求選取暫時 (HTTP 302) 或永久 (HTTP 301)。

    • 傳回固定回應 – 輸入回應碼以針對捨棄的用戶端請求傳回。或者,您可以指定內容類型回應內文

  8. 針對安全政策,我們會選取建議的安全政策。您可以視需要選取不同的安全政策。

  9. 針對預設 SSL/TLS 憑證,選擇預設憑證。我們也會將預設憑證新增至 SNI 清單。您可以使用下列其中一個選項來選取憑證:

    • 從 ACM – 從憑證 (從 ACM) 選擇憑證,以顯示可用的憑證 AWS Certificate Manager。

    • 從 IAM – 從憑證 (從 IAM) 選擇憑證,以顯示您匯入的憑證 AWS Identity and Access Management。

    • 匯入憑證 – 選擇憑證的目的地;匯入至 ACM匯入至 IAM。對於憑證私有金鑰,請複製並貼上私有金鑰檔案 (PEM 編碼) 的內容。對於憑證內文,複製並貼上公有金鑰憑證檔案 (PEM 編碼) 的內容。對於憑證鏈,請複製並貼上憑證鏈檔案 (PEM 編碼) 的內容,除非您使用的是自我簽署憑證,而且瀏覽器不一定要隱含地接受憑證。

  10. (選用) 若要啟用交互身分驗證,請在用戶端憑證處理下,啟用相互身分驗證 (mTLS)

    預設模式為傳遞。如果您選取使用信任存放區驗證

    • 根據預設,具有過期用戶端憑證的連線會遭到拒絕。若要變更此行為,請展開進階 mTLS 設定,然後在用戶端憑證過期下,選取允許過期的用戶端憑證

    • 針對信任存放區,選擇現有的信任存放區,或選擇新增信任存放區並提供必要的資訊。

  11. (選用) 若要新增標籤,請展開接聽程式標籤。選擇新增標籤,然後輸入標籤索引鍵和標籤值。

  12. 選擇 Add listener (新增接聽程式)

AWS CLI
建立 HTTPS 接聽程式

使用 create-listener 命令。下列範例會建立具有預設規則的 HTTPS 接聽程式,將流量轉送至指定的目標群組。

aws elbv2 create-listener \ --load-balancer-arn load-balancer-arn \ --protocol HTTPS \ --port 443 \ --default-actions Type=forward,TargetGroupArn=target-group-arn \ --ssl-policy ELBSecurityPolicy-TLS13-1-2-2021-06 \ --certificates certificate-arn
CloudFormation
建立 HTTPS 接聽程式

定義 AWS::ElasticLoadBalancingV2::Listener 類型的資源。下列範例會建立具有預設規則的 HTTPS 接聽程式,將流量轉送至指定的目標群組。

Resources: myHTTPSListener: Type: 'AWS::ElasticLoadBalancingV2::Listener' Properties: LoadBalancerArn: !Ref myLoadBalancer Protocol: HTTPS Port: 443 DefaultActions: - Type: "forward" TargetGroupArn: !Ref myTargetGroup SslPolicy: ELBSecurityPolicy-TLS13-1-2-2021-06 Certificates: - CertificateArn: certificate-arn