我有一个由 Heroku 托管的网站,通过 GoDaddy 提供 DNS。
我已设置转发,以便 example.com
应转发到 www.example.com
。
http 可以正确转发,https 则不能:
http://example.com -> https://www.example.com
https://example.com -> DNS Error
在 Heroku 面板中,example.com 的 SSL 验证失败,但 www.example.com 的 SSL 验证成功。
最佳答案
来自 Heroku 支持:
一些 DNS 提供商只会为根域提供 A 记录。不幸的是,A 记录不足以将根域指向 Heroku,因为它们需要静态 IP。由于 Heroku 使用动态 IP 地址,因此有必要使用类似 CNAME 的记录(通常称为 ALIAS 或 ANAME 记录),以便您可以将根域指向另一个域。
GoDaddy 仅支持根域的 A 记录,因此不是一个足够好的 DNS 提供商。
Heroku 为替代 DNS 提供商提供建议: https://devcenter.heroku.com/articles/custom-domains#configuring-dns-for-root-domains
编辑: 使用 CloudFlare 的工作解决方案:
SSL Managed Automatically (ACM) on Heroku
SSL Set to "Full" on CloudFlare
CloudFlare DNS Records:
CNAME, @, mysite.herokudns.com
CNAME, www, www.mysite.herokudns.com
CloudFlare CNAME statuses set to "DNS Only" (Gray cloud)
Heroku Domains:
mysite.com
www.mysite.com
关于heroku - GoDaddy DNS 转发 http 与 https,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47289628/