Heroku SSL DNS设置

5

我使用Namecheap注册域名和DNS,使用Heroku进行托管。我通过Namecheap购买了SSL证书,并在Heroku上设置好了,现在已经几乎完美地运行。

目前,我有一个DNS CNAME记录,主机为“www”,指向“[whatever].herokussl.com.”,以及一个“@”主机记录集,将URL重定向(301)到“http://www.[domain].com”。

我的应用程序本身强制所有HTTP流量重定向到HTTPS,因此“http://www.[domain].com”会跳转到“https://www.[domain].com”。

我得到了以下结果:

http://www.[domain].com - properly navigates to site as HTTPS
https://www.[domain].com - properly navigates to site as HTTPS
http://[domain].com - properly navigates to site as HTTPS

https://[domain].com - **does not** navigate to site, and instead the browser cannot find the page

我认为这与URL重定向在后台的行为有关。我最初将其作为CNAME记录指向“[whatever].herokussl.com.”,但显然这会阻止MX记录在区域顶级处进行。我需要做什么才能获得所需的行为?我只是想让所有裸域名或“www”域名指向我的“www”域名。
更新:关于我的DNS设置的更多信息。
HOST NAME          IP ADDRESS/URL               RECORD TYPE
---------          --------------               -----------
@                  http://www.[domain].com      URL Redirect (301)
www                [whatever].herokussl.com.    CNAME (Alias)

我的SSL证书不是通配符,只是来自Comodo的EssentialSSL证书。如果只有www.[domain].com可以工作(裸域名跳转到它),我也可以接受,虽然当我同时使用CNAME记录对于顶级域名和"www"时,它原本应该带有SSL证书的裸域也能正常工作。

1个回答

3
如果您使用DnsSimple,您可以使用他们的ALIAS记录功能。
DnsSimple的ALIAS记录不是标准DNS记录类型,也不同于CNAME记录。相反,DnsSimple以特殊方式支持它,通过为您执行DNS解析并返回结果给浏览器。这与所有其他DNS记录不同,其中DNS服务器不执行任何处理,而只在需要时简单地将记录返回给浏览器。
可能有其他DNS供应商拥有自己类似的功能。
但是,仅使用原始DNS、仅支持HTTP的3xx响应和Heroku,无法获得SSL到区域顶点(没有www.的域名)的方法。

听起来不错!当我接近“上线”时,我可能会转向DNSSimple(因为它便宜但不免费)。现在,我可以接受4个可能性中的3个正常工作。 - creativename
这确实有效。我在根目录下有一个指向Heroku SSL URL的ALIAS记录,以及一个指向相同URL的“www”的CNAME。 - creativename
1
有没有其他解决方案,对于那些不想切换到DNSSimple的人来说?现在应该有更好的解决方法了吧! - MBHNYC
你也可以使用CloudFlare,因为他们实现了扁平化的CNAME记录。 - Bunker
提醒其他人,Namecheap现在支持ALIAS。 - VM4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接