我已为自定义域名 (haydenclay.page) 启用 HTTPS,但我还需要 Beanstalk url (app-name.elasticbeanstalk.com) 才能通过 HTTPS 运行。
HTTPS 目前不起作用,因为证书名称与我的自定义域名匹配,产生:ERR_CERT_COMMON_NAME_INVALID
我需要 HTTPS,因为我发出 API 请求,从 HTTPS 转到 HTTP 会引发混合内容错误。如何在 beanstalk url 上启用 HTTPS?
遗憾的是,您无法直接为app-name.elasticbeanstalk.com
域启用https。这是因为该域由 AWS 控制。您只能为您控制的域注册 SSL 证书。
如果您想通过 SSL 从 EB 提供内容服务器,您通常有 三个选项。
在您的实例前面使用负载均衡器。这是最简单* 的方法,因为您可以将 ACM SSL 证书与您的域的平衡器相关联。
使用 CloudFront (CF) 将您的 EB 实例置于前端。您可以使用 CF 发行版和 SSL 证书为您的 cloudfront 域设置备用名称。您也可以使用 ACM 来实现此目的。设置也很简单,但应该注意的是,CF 和您的 EB 实例之间的流量将仅为 http,除非您还在实例上设置您自己的 SSL 证书(不是来自 ACM)(第 3 点)。
使用 nginx 直接在 EB 实例上安装您的自己的 SSL 证书(不是来自 ACM)。这需要手动设置和有效的公共证书。流行的选择是 LetsEncrypt,从中获取 SSL 证书。
如果您使用 CloudFlare,请转到
DNS
-> Records
CNAME
api
Proxied
并调用您的新网址:
api.your_domain.com
请您告诉我您是如何解决这个问题的?
错误: 发布 https://xxxxx.elasticbeanstalk.com/ net::ERR_CERT_COMMON_NAME_INVALID
我们将非常感谢您尽快回复。