我正在尝试使用Heroku's Automatic Certificate Management为我的网站设置SSL。我的应用程序位于myapp.herokuapp.com
的heroku上,我目前已设置Subdomain Forwarding,以便http://www.myapp.com
正确显示我的应用。
我想要的是让我的网站托管在https://myapp.com
。
我跑heroku certs:auto:enable
,但它显示:
=== Automatic Certificate Management is enabled on myapp
Domain Status
───────────────── ───────────
www.myapp.com Failing
正在运行heroku domains
显示:
=== myapp Heroku Domain
myapp.herokuapp.com
=== myapp Custom Domains
Domain Name DNS Target
───────────────── ───────────────────────────────
www.myapp.com www.myapp.com.herokudns.com
目前,在Google Domains中,我有一个从@.myapp.com
到http://www.myapp.com
的子域名转发。我还有一个自定义资源记录,其名称为www
,类型为CNAME
,数据为myapp.herokuapp.com.
。
我需要在设置中更改哪些内容才能在https://myapp.com
上托管我的网站?
答案 0 :(得分:5)
很遗憾,Google Domains不支持ANAME或ALIAS记录。您必须将其中一个用于您的顶点域。以下是Google Domains支持的完整列表。
https://support.google.com/domains/answer/3290350
Heroku有一个支持ALIAS或ANAME记录的DNS提供商列表:https://devcenter.heroku.com/articles/custom-domains#add-a-custom-root-domain就个人而言,我使用DNSimple并取得了巨大的成功。
答案 1 :(得分:3)
CNAME
目标需要为www.myapp.com.herokudns.com
。在上面的问题中,您只在myapp.com.herokudns.com
的DNS中拥有顶点记录。如果不是这种情况,您可以共享域名,以便我可以dig
记录以获取更多信息吗?
答案 2 :(得分:1)
我和Heroku以及其他PaaS提供商一直存在同样的问题:根据谁为您的域提供和管理DNS,您可能会或可能无法在裸域上使用CNAME或ALIAS记录。这就是为什么我们创建了一个简单的服务来解决这个问题,方法是在不更改DNS管理提供程序的情况下,从裸域应用简单的SSL重定向到“www”:NakedSSL将为您提供IP并将创建并托管SSL您的裸域(https://yourdomain.com)的证书,将其重定向到您想要的HTTPS URL(很可能是“https://www.yourdomain.com”)。
免责声明:我显然是创建NakedSSL团队的一员。我希望你不要把它作为自我推销(无论如何我们免费提供1个域名,这完全符合95%的开发者/业余爱好者的需求),但作为一种方法来处理这种烦人的情况一个简单的方法。