Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssl NameHeappy DNS配置在Heroku自定义域上不能与https一起使用_Ssl_Heroku_Https_Dns_Namecheap - Fatal编程技术网

Ssl NameHeappy DNS配置在Heroku自定义域上不能与https一起使用

Ssl NameHeappy DNS配置在Heroku自定义域上不能与https一起使用,ssl,heroku,https,dns,namecheap,Ssl,Heroku,Https,Dns,Namecheap,我对如何设置namescape和heroku感到非常困惑,这样它们就可以通过https共同为自定义域提供服务 我正在使用heroku,在配置结束时,heroku更新了其域映射,如下所示: myapp.com myapp.com.herokudns.com www.myapp.com wwww.myapp.com.herokudns.com ssl证书已成功添加到heroku,因为我可以访问https://myapp.herokuapp.com带绿色挂锁 下一步应该是修改DN

我对如何设置namescape和heroku感到非常困惑,这样它们就可以通过https共同为自定义域提供服务

我正在使用heroku,在配置结束时,heroku更新了其域映射,如下所示:

myapp.com        myapp.com.herokudns.com
www.myapp.com    wwww.myapp.com.herokudns.com
ssl证书已成功添加到heroku,因为我可以访问
https://myapp.herokuapp.com
带绿色挂锁

下一步应该是修改DNS,我遵循以下步骤

我添加的条目是:

CNAME Record    www    myapp.herokuapp.com
URL Redirect    @      https://www.myapp.com
应该是这样的,但它没有像我预期的那样工作

如果我键入
myapp.com
,它会转到
https://www.myapp.com
(这样重定向就可以工作了),但没有挂锁

如果我转到
https://www.myapp.com
直接输入

我确信这不是因为更改还没有生效,因为我已经搞乱了其他域,它已经在大约5分钟后生效


有人能告诉我问题出在哪里吗?

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

我发现了问题所在,在将ssl证书上载到heroku后,我应该停止使用
myapp.herokapp.com
,而改为使用
myapp.com.herokudns.com
,因此在Name便宜的DNS配置中,我应具备以下条件:

CNAME Record    @        myapp.com.herokudns.com
CNAME Record    www      www.myapp.com.herokudns.com
我不认为重定向是必要的(即使在namesheap中,它也说您不应该在裸域上设置CNAME,而是应该重定向www)。我尝试使用
URL重定向记录wwwhttps://myapp.com
替换www CNAME记录,但它不起作用

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

您的解决方案(使用CNAME for@)在Namecheap中也可以使用https发送到amazon ELB实例。我的域名由namescape提供服务。他们的建议(正如您所指出的不正确)是将我的域(x.com)的fwd https流量URL到我的amazon elb实例(它有我的x.com ssl证书)。URL转发从NameCheap的服务器获取conn拒绝错误


将CNAME用于@会为https URL显示一个漂亮的绿色安全封条。我还为非https流量向同一amazon elb实例添加了一个CNAME www。

这是有道理的,所以在这种情况下,我不能有URL重定向记录?@swang:您可以重定向到
https://myapp.herokuapp.com
,即具有有效证书的主机。实际上,如果重定向是个问题,为什么
www.myapp.com
也不起作用呢?这不应该由CNAME记录发送吗?此外,我拥有的证书来自letsencrypt,它认证的是myapp.com而不是myapp.herokuapp.com。@swang:redirect是HTTP,CNAME是DNS。重定向更改URL,CNAME不更改。对于证书验证,URL中的主机名是相关的。我明白了,这是我的观点,例如,现在我删除了URL重定向记录,当我键入
https://myapp.com
它无法再找到页面,但是当我输入
https://www.myapp.com
仍然没有挂锁,请解释原因?在此处签出此答案我为URL重定向记录所做的是将其设置为domain.com到www.domain.com