14

我对如何设置 namecheap 和 heroku 感到非常困惑,因此它们一起工作以通过 https 提供自定义域。

我正在使用 heroku ssl beta,在配置结束时,heroku 已经更新了它的域映射,如下所示:

myapp.com        myapp.com.herokudns.com
www.myapp.com    wwww.myapp.com.herokudns.com

ssl证书已成功添加到heroku,我知道是因为我可以https://myapp.herokuapp.com用绿色挂锁访问。

下一步应该是修改namecheap DNS,我按照这个教程

我添加的条目是:

CNAME Record    www    myapp.herokuapp.com
URL Redirect    @      https://www.myapp.com

应该是这样,但它不像我预期的那样工作。

如果我输入myapp.com,它会转到https://www.myapp.com(因此重定向有效),但没有挂锁。

如果我直接去也一样https://www.myapp.com

我确定不是因为更改还没有生效,因为我乱了其他域并且它在5分钟左右后已经生效。

有人可以告诉我有什么问题吗?

4

3 回答 3

7

我发现出了什么问题,在将 ssl 证书上传到 heroku 后,我应该停止使用myapp.herokuapp.com,而不是使用myapp.com.herokudns.com,所以在 namecheap 的 DNS 配置中,我应该有以下内容:

CNAME Record    @        myapp.com.herokudns.com
CNAME Record    www      www.myapp.com.herokudns.com

我不认为重定向是必要的(即使在 Namecheap 的文档中它说你不应该在裸域上设置 CNAME,而应该重定向 www)。我试图用它URL redirect record www https://myapp.com来替换 www CNAME 记录,但它不起作用。

此外,当我使用lets encrypt创建证书时,我只认证了域myapp.com,但忘记了www.myapp.com,所以当访问www域时,浏览器抱怨证书来自myapp.com,一旦我将证书扩展到覆盖www.myapp.com,使用上述配置,所有域都可以正常工作一把绿色的挂锁。

于 2016-06-03T18:13:18.007 回答
2

您在 Namecheap 中的解决方案(使用 CNAME 表示 @)也适用于 https 转发到亚马逊 ELB 实例。我的域名由 Namecheap 提供服务。他们的建议(正如您指出的那样不正确)是将我的域(x.com)的 fwd https 流量 URL 发送到我的 amazon elb 实例(它有我的 x.com 的 ssl 证书)。URL fwding 收到来自 NameCheap 的服务器的连接被拒绝错误。

为 @ 使用 CNAME 会为 https URL 显示一个漂亮的绿色安全印章。我还为非 https 流量添加了一个 CNAME www 到同一个亚马逊 elb 实例。

于 2016-10-05T20:24:29.283 回答
1

您重定向到https://www.myapp.com. 浏览器需要www.myapp.com那里的证书,但根据您的描述,只有myapp.herokuapp.com. 由于 URL 中的主机名与证书的主题不匹配,浏览器会抱怨证书错误。

于 2016-06-03T15:14:41.550 回答