4

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

页面加载时没有任何警告,并且证书按预期工作。

CNAME 看起来像这样: 主机: 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,但还有其他方法可以做到这一点吗?

4

4 回答 4

3

诀窍是使用机架重写:

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

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

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

于 2012-07-03T08:33:53.693 回答
1

我不相信 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 上实现这一目标。

于 2013-02-22T02:52:01.443 回答
0

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

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

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

于 2012-05-31T12:57:44.037 回答
0

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

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

于 2018-06-14T14:39:32.603 回答