【问题标题】:s3 static site + cloudfront + SSL not working for non wwws3 静态站点 + cloudfront + SSL 不适用于非 www
【发布时间】:2018-08-05 07:35:18
【问题描述】:

我有一个托管在 s3 存储桶上的静态 html 网站。我已经生成了一个免费的 ssl 证书,我们将它导入到 ACM 中。

certbot --manual --server https://acme-v01.api.letsencrypt.org/directory -d example.com -d www.example.com

我已设置 cloudfront 以使用该证书。

在我的 DNS 提供商 (namecheap) 上,我设置了一个将 www 指向云端域名的 CNAME,并且还设置了从 mydomain.com 到 www.mydomain.com 的重定向

现在如果我去

https://www.example.com,它可以工作

https://example.com,一直挂到超时

谁能告诉我我错过了什么?

【问题讨论】:

    标签: ssl amazon-s3 static amazon-cloudfront namecheap


    【解决方案1】:

    在我的 DNS 提供商 (namecheap) 上,我已经...将一个从 mydomain.com 重定向到 www.mydomain.com

    有问题。您的“DNS 提供商”具有不支持 HTTPS 的重定向服务。他们不可能——重定向只能发生在 HTTPS 连接建立之后,并且 HTTPS 连接需要有效的证书。

    重定向实际上从未在 DNS 中完成,尽管您的提供商的界面可能会给您这样的印象。重定向总是使用 Web 服务器完成的。您的提供商有一个 Web 服务器,当您将一个主机名配置为重定向到另一个主机名时,他们会提供并将 DNS 指向该服务器。

    简而言之,如果不使用 Route 53 作为您的权威 DNS 主机,就无法在域顶点执行此操作。您不必将域名注册转移到 Route 53 注册商,但您需要将 Route 53 用于您的 DNS,并且您需要第二个存储桶和第二个 CloudFront 分配 - 请参阅Supporting HTTPS URL redirection with a single CloudFront distribution

    【讨论】:

    • 哇,这太疯狂了!做所有这些马戏会花费我更多(2 cloudfront + route53),而不是直接支付 namecheap 来让我获得证书。对吗?
    • @Marco 这不是由于证书(顺便说一句,您可以使用 ACM 免费发行并​​分配给您的 CF 发行版)。他在这篇文章中的意思是重定向将始终涉及 Web 服务器(和 301 重定向)。如果您在设置重定向的域上使用dig,您可以自己看到它不是指向您在 A 记录中设置的 IP 地址,而是指向负责执行重定向的 Namecheap 的服务器。这只是一种方便(您可以直接在您的网络服务器上执行此操作)
    猜你喜欢
    • 2014-06-10
    • 2017-06-24
    • 2020-04-10
    • 2021-05-21
    • 1970-01-01
    • 2018-05-02
    • 2020-04-24
    • 1970-01-01
    • 2019-07-29
    相关资源
    最近更新 更多