Elastic Beanstalk - ExpressJS - Https证书未出现

时间:2016-09-08 11:57:20

标签: amazon-web-services ssl express elastic-beanstalk

我正在尝试使用我的弹性beanstalk环境调试情况,其中我的eb环境名称成功识别证书管理器的证书并抛出错误,因为我的证书是针对我的域而不是elasticbeanstalk。 com,但是当我尝试在monkey.patch_all()访问我的网站时,我发现它仍在使用http而不是https。因此,我试图确定这是我的CNAME记录,我的快递设置或我的负载均衡器的问题。这是我目前的设置:

SSL ID:。* mysite.com

  • 状态:已发布
  • 使用中:是

负载均衡器:

  • 听众端口:80
  • 协议:HTTP
  • 安全侦听器端口:443
  • 协议:HTTPS
  • 跨区域负载平衡:未选中
  • SSL证书ID:。* mysite.com

  • 默认设置的其他选项

CNAME:

  • 姓名:beta.mysite.com
  • 别名:否
  • TTL:300秒
  • 价值:beta-app.us-east-1.elasticbeanstalk.com
  • 路由策略:简单

ExpressJS:

  • 我认为所有这个过程都应该存在于服务器实例上而不是后端代码中,所以我没有添加任何模块或选项来使用https。

1 个答案:

答案 0 :(得分:1)

  

但是当我尝试访问beta.mysite.com上的网站时,我注意到了它   仍在使用http而不是https。

这只是因为您转到了http://beta.mysite.com而不是https://beta.mysite.com请注意您如何同时使用http://stackoverflow.comhttps://stackoverflow.com,这就是您现在应用的配置方式。< / p>

安装SSL证书不会自动导致端口80上的HTTP请求被重定向到端口443上的HTTPS请求。您需要在Elastic Beanstalk的Nginx服务器或ExpressJS服务器代码中添加一些配置选项,以检测HTTP请求,并将其重定向到HTTPS,如this