使用 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

cloudflare 301 重定向设置

免费CDN-CloudFlare的使用教程

将社交图标添加到特定标头容器中

如何强制使用 HTTPS(Cloudflare 灵活 SSL)?

如何“动态”在 PHP 中向 cloudflare 添加子域?