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 重定向在幕后的行为方式有关。我最初是作为直接指向“[whatever].herokussl.com.”的 CNAME 记录执行此操作的,但显然在区域顶点块 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 有效(从裸域重定向),我很好,尽管当我对顶点和“www”都使用 CNAME 时,它只是作为带有 SSL 的裸域工作美好的。

4

1 回答 1

3

如果你使用 DnsSimple,你可以使用他们的ALIAS记录功能。

DnsSimpleALIAS记录不是标准的 DNS 记录类型,与CNAME记录不同。相反,DnsSimple 以一种特殊的方式支持它,为您执行 DNS 解析并将结果返回给您的浏览器。这与所有其他 DNS 记录不同,其中 DNS 服务器不执行任何处理,而只是按需将记录返回到您的浏览器。

可能还有其他 DNS 供应商具有自己的类似功能。

但是,仅使用普通 DNS、来自您的名称服务器的仅 HTTP 3xx 和 Heroku,无法将 SSL 获取到区域顶点(没有 的域名www.)。

于 2013-01-15T06:40:23.367 回答