【问题标题】:Elastic Beanstalk - ExpressJS - Https Certificate not appearingElastic Beanstalk - ExpressJS - HTTPS 证书未出现
【发布时间】:2017-01-16 08:21:42
【问题描述】:

我正在尝试使用我的弹性 beanstalk 环境调试一种情况,其中我的证书管理器的证书被我的 eb 环境名称成功识别并抛出错误,因为我的证书适用于我的域而不是 elasticbeanstalk。 com,但是当我尝试通过beta.mysite.com 访问我的网站时,我注意到它仍在使用 http 而不是 https。因此,我试图确定这是否是我的 CNAME 记录、我的 expressjs 设置或我的负载均衡器的问题。这是我目前的设置:

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 的模块或选项。

【问题讨论】:

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


    【解决方案1】:

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

    这仅仅是因为您转到http://beta.mysite.com 而不是https://beta.mysite.com 请注意如何同时转到http://stackoverflow.com 和https://stackoverflow.com,这就是您的应用程序现在的配置方式。

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

    【讨论】:

    • 非常感谢您为我解惑。这是我第一次尝试使用 SSL,由于我的应用程序的真实性,我计划将所有流量重定向到 HTTPS。您会推荐一种重定向方法吗? (Nginx 与 ExpressJS)
    • 我通常会推荐使用 Nginx,不过在 Elastic Beanstalk 上的 ExpressJS 代码中可能更容易。
    猜你喜欢
    • 2019-02-05
    • 2018-08-14
    • 2021-06-23
    • 2017-12-13
    • 2019-08-13
    • 2020-05-16
    • 1970-01-01
    • 2016-09-03
    • 2020-12-25
    相关资源
    最近更新 更多