繁体   English   中英

如何使用Heroku的SSL端点配置裸域名?

[英]How do I configure a naked domain name to work using Heroku's SSL endpoint?

我最近在Heroku上运行的Rails应用程序中添加了SSL功能。 我成功购买并为我的域创建了一个证书并在GoDaddy中使用了CNAME,当用户浏览到www.myappname.com时,我的应用程序的WWW子域正常工作

页面加载没有任何警告,证书工作正常。

CNAME看起来像这样: host: www 指向: myappnamefoobar-1234.herokussl.com

但是,当我简单地转到“裸”域名 - myappname.com时,会出现证书错误。

如何在GoDaddy中配置DNS设置以使其工作?

https://devcenter.heroku.com/articles/avoiding-naked-domains-dns-arecords

Heroku的文档中有一篇关于裸域的文章,但我不知道这将如何应用于GoDaddy的DNS管理器。

我知道Heroku有一些基于IP的SSL付费,但有另一种方法来实现这一目标吗?

诀窍是使用机架重写:

https://github.com/jtrupiano/rack-rewrite

它允许Rails从mydomainname.com重定向到www.mydomainname.com,因为Heroku不允许裸域。

然后,您可以使用DNS管理器将www.mydomain.com指向Heroku的SSL端点(付费,每月20美元)。

我不相信GoDaddy支持这样的功能。

最好的选择是使用DNSimple的ALIAS记录类型 ,它为CNAME记录提供根域支持。

然后,您可以像这样设置记录(假设使用SSL端点进行SSL)。

| type  | name | target                  |
| ALIAS |      | tokyo-123.herokussl.com |
| CNAME | www  | tokyo-123.herokussl.com |

虽然有其他DNS提供商提供类似的ALIAS记录功能,但它不是DNS规范中的内容。 这就是我们尚未提供有关使用此类记录的详尽文档的原因。 但是,我们的目标是在不久的将来纠正这一问题,因为对那些想要根域支持的人缺乏明确的指导。

请密切关注使用AWS Route 53作为您的Heroku应用程序的DNS 我相信很快就能在R53上实现这一目标,或者很快就能实现这一目标。

如果您购买的证书具有公共名称"www.yourdomain.com"并且您使用任何其他URL浏览到该站点,您将在浏览器中收到证书警告。

警告告诉您URL与域名不匹配。

解决此问题的一种方法是购买通配符证书。 这允许*.yourdomain.com"

我一直在努力解决同样的问题。 我总是不得不自己设置301 SSL重定向,所以在某些时候我累了,决定创建https://www.nakedssl.com来解决这个问题。 它对一个域免费:)。

免责声明:显然,我是创建NakedSSL的团队的一员,有些人可能会考虑这种自我推销 - 即使我们免费提供服务。 在任何情况下,我认为这仍然是一个很好的解决方法,直到所有DNS管理提供商都支持裸域上的CNAME / ALIAS。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM