我使用Namecheap进行域名注册和DNS,并使用Heroku进行托管。我已通过Namecheap购买了SSL证书,并使用Heroku进行了设置,并使其几乎完美运行。
目前,我有一个DNS CNAME记录,主机“www”指向“[whatever] .herokussl.com。”,并且“@”主机记录设置为URL Redirect(301)to“http:// www [域] .COM”。
我的应用程序本身强制所有HTTP流量重定向到HTTPS,因此“http:// www。[域名] .com”转到“https:// www。[域名] .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。[域名] .com工作(从裸域重定向),虽然当我使用CNAME的顶点和“www”时,它只是作为一个裸域使用SSL细
答案 0 :(得分:3)
如果您使用DnsSimple,则可以使用他们的ALIAS
record功能。
DnsSimple ALIAS
记录不是标准DNS记录类型,与CNAME
记录不同。相反,DnsSimple通过为您执行DNS解析并将结果返回到浏览器以特殊方式支持它。这与所有其他DNS记录不同,DNS服务器不执行任何处理,只是按需将记录返回到您的浏览器。
可能还有其他DNS供应商拥有自己的类似功能。
但是,如果您的名称服务器和Heroku中只有vanilla DNS,仅限HTTP的3xx,则无法将SSL连接到区域顶点(没有www.
的域名)。< / p>