我们正在尝试建立对使用Elastic Beanstalk部署的网站的HTTPS访问。
这是我们已采取的步骤:
从Amazon Certificate Manager获得了证书。
在我们的EB应用程序环境中的“配置”下,我们向Classic Load Balancer添加了另一个侦听器。此新侦听器的设置是:
Port: 443
Protocol: HTTPS
Instance Port: 443
Instance Protocol: HTTPS
SSL certificate: (certificate that we created in step 1)
由于添加了此新的侦听器,因此创建了另一个具有443入站规则的安全组,因此该安全组已添加到实例。
最后,我们转到“负载平衡器”页面,对于此应用程序的负载平衡器,我们添加了具有以下设置的另一个侦听器:
Load Balancer Protocol: HTTPS
Load Balancer Port: 443
Instance Protocol: HTTPS
Instance Port: 443
Cipher: ELBSecurityPolicy-2016-08 (default)
SSL Certificate: (certificate that we created in step 1)
但是我们仍然无法通过https访问我们的网站。您知道还需要做什么吗?
另一点。在第4步中,如果只有443个负载均衡器端口存在以下设置:
HTTPS 443 HTTP 80 (cert)
然后,只能通过 https(而非http)访问该网站。
因此,此调整表明证书没有问题。
我们的配置中缺少什么?
答案 0 :(得分:1)
如果在EB设置中将证书分配给侦听器,则默认情况下会将其分配给负载均衡器。负载平衡器终止来自Internet和communicates with the instances using HTTP(不加密)的HTTPS连接。因此,您需要从负载均衡器打开未加密到实例的端口80。
如果实例必须具有end-to-end encryption,则需要配置EB环境以直接通过负载均衡器传递HTTPS:
.ebextensions / https-reencrypt-clb.config
将此配置文件与经典负载均衡器一起使用。此外 要配置负载均衡器,配置文件也会更改 默认的运行状况检查以使用端口443和HTTPS,以确保 负载均衡器可以安全连接。
option_settings:
aws:elb:listener:443:
InstancePort: 443
InstanceProtocol: HTTPS
aws:elasticbeanstalk:application:
Application Healthcheck URL: HTTPS:443/
为您的实例更新Security Group config:
.ebextensions / https-instance-securitygroup.config
Resources:
sslSecurityGroupIngress:
Type: AWS::EC2::SecurityGroupIngress
Properties:
GroupId: {"Fn::GetAtt" : ["AWSEBSecurityGroup", "GroupId"]}
IpProtocol: tcp
ToPort: 443
FromPort: 443
CidrIp: 0.0.0.0/0
并在实例上配置证书,该证书可以是自签名证书:
.ebextensions / https-backendauth.config
option_settings:
# Backend Encryption Policy
aws:elb:policies:backendencryption:
PublicKeyPolicyNames: backendkey
InstancePorts: 443
# Public Key Policy
aws:elb:policies:backendkey:
PublicKey: |
-----BEGIN CERTIFICATE-----
################################################################
################################################################
################################################################
################################################################
################################################
-----END CERTIFICATE-----
查看更详细的摘要,其中包含适用于不同类型的负载均衡器here的选项。