配置 Elastic Beanstalk 環境負載均衡器以終止 HTTPS
要更新您的 AWS Elastic Beanstalk 環境以使用 HTTPS,您需要為您的環境中的負載均衡器配置 HTTPS 偵聽器。以下兩種類型的負載均衡器支持 HTTPS 偵聽器:傳統負載均衡器和應用程序負載均衡器。
您可以使用 Elastic Beanstalk 控制臺或配置文件來配置安全偵聽器并分配證書。
注意
單實例環境沒有負載均衡器并且不支持負載均衡器上的 HTTPS 終止。
使用 Elastic Beanstalk 控制臺配置安全偵聽器
將證書分配至環境的負載均衡器
打開?Elastic Beanstalk 控制臺。
導航到您的環境的管理頁。
選擇?Configuration。
在負載均衡器配置卡上,選擇修改。
注意
如果負載均衡器配置卡沒有修改按鈕,則表示您的環境沒有負載均衡器。
在修改負載均衡器頁上,根據與您的環境關聯的負載均衡器類型,該過程將會有所不同。
傳統負載均衡器
選擇添加偵聽器。
在傳統負載均衡器偵聽器對話框中,配置以下設置:
對于偵聽器端口,請鍵入傳入流量端口,通常為?
443
。對于偵聽器協議,請選擇?HTTPS。
對于實例端口,請鍵入?
80
。對于實例協議,請選擇?HTTP。
對于?SSL 證書,請選擇您的證書。
選擇?Add。
應用程序負載均衡器
選擇添加偵聽器。
在應用程序負載均衡器偵聽器對話框中,配置以下設置:
對于端口,請鍵入傳入流量端口,通常為?
443
。對于協議,請選擇?HTTPS。
對于?SSL 證書,請選擇您的證書。
選擇?Add。
注意
如果下拉菜單中未顯示任何證書,您應在?AWS Certificate Manager (ACM)?中創建或上傳證書 (首選),或者使用 AWS CLI 上傳證書到 IAM。
選擇?Save,然后選擇?Apply。
使用配置文件配置安全偵聽器
您可以使用以下配置文件之一在負載均衡器上配置安全偵聽器。
例 .ebextensions/securelistener-clb.config
在您的環境具有傳統負載均衡器時,請使用該示例。該示例使用?aws:elb:listener
?命名空間中的選項通過指定的證書在端口 443 上配置 HTTPS 偵聽器,并將解密的流量轉發到端口 80 上的環境實例。
option_settings: aws:elb:listener:443: SSLCertificateId: arn:aws:acm:us-east-2:1234567890123:certificate/####################################
ListenerProtocol: HTTPS InstancePort: 80
將突出顯示的文本替換為您的證書的 ARN。證書可以是您在 AWS Certificate Manager (ACM) 中創建或上傳的證書 (首選),也可以是通過 AWS CLI 上傳到 IAM 的證書。
有關傳統負載均衡器配置選項的更多信息,請參閱傳統負載均衡器配置命名空間。
例 .ebextensions/securelistener-alb.config
在您的環境具有應用程序負載均衡器時,請使用該示例。該示例使用?aws:elbv2:listener
?命名空間中的選項通過指定的證書在端口 443 上配置 HTTPS 偵聽器。該偵聽器將流量路由到默認進程。
option_settings: aws:elbv2:listener:443: Protocol: HTTPS SSLCertificateArns: arn:aws:acm:us-east-2:1234567890123:certificate/####################################
配置安全組
如果將負載均衡器配置為將流量轉發到除端口 80 外的實例端口,則必須向安全組添加一條規則來允許來自負載均衡器的入站流量通過該實例端口。在自定義 VPC 中創建環境時,Elastic Beanstalk 會為您添加此規則。
您可以在?.ebextensions
?目錄的配置文件中為您的應用程序添加?Resources
?鍵,從而添加此規則。
下面的示例配置文件向?AWSEBSecurityGroup
?安全組添加一條入口規則,該規則允許端口 1000 接收來自負載均衡器的安全組的流量。