32

查看 Heroku 文档中的此链接:

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

黄色盒子说:

通过 SSL(即https://mydomain.com )直接向裸域发出的请求 在使用子域重定向时会遇到警告。这是意料之中的,并且可以通过仅传播和公开您的安全 URL 的子域格式来避免。

这真的是唯一的解决方案吗?只是希望人们不要在没有 wwws 的情况下输入 url?

我遇到了几个问题,人们只是从 url 中删除子域以访问主页(在 https 上)并遇到 ssl 警告?

有没有其他人想出解决这个问题的方法?

4

3 回答 3

12

到目前为止,我们发现的最好的想法是设置两个带有少量 nginx 配置的 Amazon EC2 微型机器实例。然后,配置两个弹性 IP 地址以指向这些 EC2 实例,并将点 2 A 记录指向这些 IP 地址。这样,如果硬件出现问题,您始终可以将弹性 IP 指向另一台 EC2 机器,而无需等待 DNS 传播。访问https://example.comhttp://example.com的用户将收到 301 到域并且没有 SSL 警告。

server {
  listen 80;
  listen 443 default_server ssl;
  server_name example.com;
  ssl_certificate server.crt;
  ssl_certificate_key server.key;
  return 301 https://www.example.com$request_uri;
}

另一个想法是使用wwwizer提供的优质服务。

于 2012-09-09T18:36:48.147 回答
9

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

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

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

尽管有其他 DNS 提供商提供类似的 ALIAS 记录功能(例如 DNSMadeEasy 的 ANAME),但它不在 DNS 规范中。这就是为什么我们尚未提供有关使用此类记录的详尽文档的原因。但是,鉴于缺乏对那些想要根域支持的人的明确指导,我们的目标是在不久的将来纠正这个问题。

还要留意使用 AWS Route 53 作为 Heroku 应用程序的 DNS。我相信很快就能在 R53 上实现这一目标。

于 2013-02-22T02:50:29.947 回答
2

301 重定向是正确的方法,因为 RFC1033 指出您不能将区域顶点(根域)指向 CNAME 记录 - 它必须是 A 记录。

话虽这么说,但还是有一些 DNS 服务提供了这样做的可能性。我自己还没有尝试过,但CloudFlare提供了一个免费层,并于去年开始为区域顶点提供 CNAME。

于 2012-09-02T14:32:50.710 回答