我们的域名在 GoDaddy 注册并托管在 AWS 上。
在 GoDaddy 中,我们有 www -> mylb_abc.... (AWS 负载均衡器地址) 的 CNAME 条目。
此外,域名被转发至http://www.domain.com在 GoDaddy 中使用永久重定向 (301)。
在浏览器中使用以下地址访问网站可以正常工作。 http ://domain.com https ://www.domain.com
然而,当我输入https://domain.com在浏览器中它出现连接超时错误。
我在 AWS 上有 Apache。我浏览了互联网上各种描述由于缺少通配符证书而导致 SSL 证书错误的帖子,但找不到任何与此主题相关的帖子。您能否提供任何您可能有的指示。
感谢任何帮助!
谢谢,Awsway
答案1
DNS 规范指出“根”域,即“domain.com”不能是 cname(或者至少不是标准设置)。
一些主机允许您这样配置它,但您的“里程会有所不同”,因为不应期望 DNS 中继、缓存和客户端支持它。(原因是 cname 适用于所有记录类型,并且您需要在根域中添加其他记录:MX、NS 等)
一些 DNS 提供商知道这是一个“常见请求”,并提出了一些解决方法,例如托管重定向服务(您将根域设置为一组 IP,然后它们处理重定向),或提供“转发”(实际上是同一件事)。但这些通常不适用于 HTTPS,因为它需要重定向服务器上的有效 SSL 证书,而这超出了大多数重定向服务愿意投资的范围(这也是相当糟糕的做法,因为它是一个单点故障,你可以打赌大多数提供商不会使用任播)。
如果您希望域名的根指向 ELB 并与 HTTP 和 HTTPS 正确配合使用,建议的方法是将您的 DNS 名称服务器(您不需要转移注册)切换到 AWS Route53,因为它们支持“别名”记录,其中 AWS 将查找您的 ELB 的 IP 地址(这些地址会定期更改,因此请不要自己尝试),并使用 ELB 详细信息作为标准 A 记录响应进行回复。
一种更通用的方法是使用支持“ALIAS”或“ANAME”记录的 DNS 提供程序,其工作方式与 Route53 类似,但智能性稍差(Route53 不需要 nslookup ELB 主机名)。