我使用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证书的裸域也能正常工作。