【问题标题】:Setting up SSL with Elastic Beanstalk: How to fix ERR_CERT_COMMON_NAME_INVALID?使用 Elastic Beanstalk 设置 SSL:如何修复 ERR_CERT_COMMON_NAME_INVALID?
【发布时间】:2020-09-29 05:41:31
【问题描述】:

我有一个网站 example.com,它有一个名为 play.example.com 的子域,其中托管了多人游戏。

另外,我有一个托管游戏服务器(NodeJs 后端)的 Elastic Beanstalk 环境,与客户端构建本身分开。

play.example.com 通过 https 连接到游戏服务器,但遇到错误:ERR_CERT_COMMON_NAME_INVALID。

我已采取的步骤:

1) 使用 AWS Certificate Manager 为 *.example.com 创建了 SSL 证书

2) 为我的负载均衡器添加了一个侦听器,该侦听器侦听端口 443

3) 创建了一个别名,在 EB url 中键入一个名为 play.example.com 的 IPv4

我了解该错误意味着 URL 和证书之间存在名称不匹配,但这不是别名应该解决的问题吗?

感谢您的任何建议。

【问题讨论】:

    标签: ssl socket.io amazon-elastic-beanstalk


    【解决方案1】:

    好的,我已经花了大约一周的时间试图自己解决这些问题,不幸的是 Stackoverflow 上到处都是问这个问题的人,没有人给出答案。

    这就是我解决它的方法,其中一些也可能对你有用。它最终主要是配置问题。

    您的 SSL 证书是合适的 - 我最终对我的子域 ops.example.com 进行了硬编码,但您的通配符应该不是问题。

    我在某处读到 AWS 要求任何 DNS 记录为 CNAME 类型,因此我设置了一个基本 CNAME 记录以将 ops 重定向到 my-site.my-aws-region-1.elasticbeanstalk.com

    然后,最终成为整个事情的关键是,为了使 HTTPS 正常工作,您的负载均衡器必须在 443 上侦听 HTTPS,并在 80 上通过 HTTP 路由到实例。

    亚马逊试图告诉我这一点,但因为我是个菜鸟,而且他们的教程是我整个职业生涯中读过的最糟糕的教程,他们实际上并没有将你的任何安全端口暴露给互联网.这实际上很好,因为您的流量一直被加密到负载均衡器,然后,即使它不再是 HTTPS,它也已经在亚马逊的服务器上,所以它的安全性并没有降低。

    希望这里有帮助!

    【讨论】:

      猜你喜欢
      • 2018-02-28
      • 2017-01-07
      • 2016-08-18
      • 2017-05-21
      • 2012-07-04
      • 2020-11-06
      • 2015-06-14
      • 2019-08-10
      • 1970-01-01
      相关资源
      最近更新 更多