我一直在阅读Amazon Elastic Beanstalk文档,并且能够将以下行添加到.ebextensions中的配置文件中,以将Elastic Load Balancer设置为使用HTTPS:
option_settings:
# Elastic Load Balancer Options
- namespace: aws:elb:loadbalancer
option_name: LoadBalancerHTTPPort
value: 80
- namespace: aws:elb:loadbalancer
option_name: LoadBalancerPortProtocol
value: HTTP
- namespace: aws:elb:loadbalancer
option_name: LoadBalancerHTTPSPort
value: 443
- namespace: aws:elb:loadbalancer
option_name: LoadBalancerSSLPortProtocol
value: HTTPS
- namespace: aws:elb:loadbalancer
option_name: SSLCertificateId
value: arn:aws:iam:<my cert ARN>
这非常有效。但是,我无法在文档中找到有关如何为此负载均衡器设置允许密码列表的任何要点,而无需借助控制台或CLI命令。关于如何做到这一点的任何想法?
联系AWS支持并确认尚不支持此功能。游民。
现在看来这是可能的。根据this Elastic Load Balancer doc,您可以创建自己的政策:
Custom Security Policy
您可以使用所需的密码和协议创建自定义协商配置。请注意,某些安全合规性标准(如PCI,SOX等)可能需要一组特定的协议和密码才能确保满足安全标准。在这种情况下,您可以创建自定义安全策略以满足这些标准。
AWS页面上有说明Update the SSL Negotiation Configuration of Your Load Balancer,用于使用aws elb
命令自定义策略。
我不想仅仅引用那里的内容,但我想注意,现在看来有可能有人在这里遇到问题。但是,简而言之,您将使用aws elb create-load-balancer-policy
创建一个策略,您可以在其中定义密码集及其顺序,然后使用aws elb set-load-balancer-policies-of-listener
在负载均衡器上启用它。
我不确定何时/如果这改变了,但你可以使用.ebextensions
在“经典”负载均衡器上执行此操作:
option_settings:
aws:elb:policies:tlspolicy:
SSLProtocols: "Protocol-TLSv1.2,Server-Defined-Cipher-Order,ECDHE-RSA-AES256-SHA384,ECDHE-RSA-AES256-GCM-SHA384,ECDHE-RSA-AES128-SHA256,ECDHE-RSA-AES128-GCM-SHA256"
LoadBalancerPorts: "443"
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options-general.html