AWS Elastic Beanstalk中的Https配置

时间:2017-06-18 09:16:42

标签: amazon-web-services amazon-ec2 elastic-beanstalk amazon-route53

我在弹性beanstalk中有一个node.js应用程序,我希望它通过HTTPS使用。但由于某种原因,它没有安全连接。 我遵循的步骤:

  1. 使用我自己的域在Route53中创建了托管区域。
  2. 收到有关域名验证的电子邮件,已接受并创建了托管区域。
  3. 在EB环境配置中为https启用端口443。
  4. 为安全组中的端口443添加了https的新入站规则。
  5. 然后,当我在浏览器中点击网址(https://myurl.us-west-1.elasticbeanstalk.com/)时,它会显示该页面但不安全。我附上了截图。 enter image description here

1 个答案:

答案 0 :(得分:1)

只是巩固调查结果,希望它对其他人也有用。

我在这里大大简化了,但是在验证证书时,浏览器执行的两个关键检查是证书链和站点名称。 (至少这两个似乎是证书问题的两个最常见的来源。)

使用证书链浏览器检查证书是否由众所周知(且受信任)的权限签名。因此,首先您需要由知名证书颁发机构颁发的适当证书。最简单的可能是从AWS Certificate Manager获得一个。但您可以从证书颁发机构获取一个。见这里:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/configuring-https.html

公平地说,您实际上可以使用自签名证书,甚至可以通过将签名证书添加到浏览器中的受信任证书列表来抑制警告。但这不是公共网站的真正选择,因为它会要求您网站的每个访问者手动将您的证书添加为可信任。

通过名称检查,浏览器只会验证您在网址栏中输入的网站名称是否与证书中列出的网站名称相匹配。要满足此检查,您必须将www.mydomain.com(或您的域名)配置为Route53中ELB的别名。然后将您的浏览器指向www.mydomain.com(而不是paintbeanstalk url)。