使用 Cloudflare 将 HTTPs 添加到 Elastic Beanstalk
Posted
技术标签:
【中文标题】使用 Cloudflare 将 HTTPs 添加到 Elastic Beanstalk【英文标题】:Add HTTPs to Elastic Beanstalk with Cloudflare 【发布时间】:2021-07-13 16:05:52 【问题描述】:我正在尝试将 HTTPS 连接添加到弹性 beanstalk 中的服务器 API,使用 CloudFlare 作为 DNS。我遵循的步骤:
-
转到 AWS 证书管理器并为 *.nameofmydomain.com 创建证书
验证证书
在弹性 beanstalk 加载器部分、端口 443 和之前创建的证书中创建了一个侦听器
在 cloudflare 中创建了一条 CNAME 记录,将 api.nameofmydomain.com 指向弹性 beanstalk (xxxxx.yyyyy.eu-west-1.elasticbeanstalk.com)
当我打开https://xxxxx.yyyyy.eu-west-1.elasticbeanstalk.com 时出现以下错误
当我打开 api.nameofmydomain.com 时,我得到了这个
【问题讨论】:
对于 api.nameofmydomain.com,cloudflare 是处于仅 DNS 模式还是代理模式? @drussey 代理模式 这很奇怪,这意味着这个 SSL 错误来自 Cloudflare。您使用 cloudflare 设置的 SSL 是否与 cloudflare 提供的免费 Universal SSL 一样简单?您是否在使用旧浏览器,并且在 Cloudflare 上仅支持较新的密码套件 (TLS 1.3)? @drussey 我使用的是最新版本的 firefox,我没有在 cloudflare 中对 SSL 进行任何更改,所以我使用的是默认设置 @drussey 感谢您帮助排错,我终于找到了错误 【参考方案1】:我发现了问题,turns out that wildcard ACM certificates in AWS only work for one level,我试图在 xxx.yyy.nameofmydomain.com 中创建一个域,将其更改为仅一个级别使其工作
【讨论】:
啊,这对 cloudflare 也是有意义的。我认为您的域是一个级别 - api.nameofmydomain.com - 多个子域级别也会混淆基于 SNI 的 Cloudflare 服务器,他们将无法使用其通用 SSL 证书覆盖您的站点。 不仅仅是 AWS 中的通配符 ACM 证书,通配符证书只在一个级别的时间段内有效,适用于 Internet 上的任何服务。 @MarkB 哦,好的,很高兴知道,谢谢!以上是关于使用 Cloudflare 将 HTTPs 添加到 Elastic Beanstalk的主要内容,如果未能解决你的问题,请参考以下文章
如何将子域重定向到路径 AWS EC2 apache 服务器和 cloudflare