![为无子域的 https 配置 DNS 主机记录](https://linux22.com/image/1454572/%E4%B8%BA%E6%97%A0%E5%AD%90%E5%9F%9F%E7%9A%84%20https%20%E9%85%8D%E7%BD%AE%20DNS%20%E4%B8%BB%E6%9C%BA%E8%AE%B0%E5%BD%95.png)
http://example.com
正确解析到我的网络主机-Azure。
https://www.example.com
按预期解析到我的网络主机。
https://example.com
意外地解析到我的域名注册商 DNS 主机 - NameCheap。
我希望后者最终能解析网络主机。
我如何配置我的域名注册商,以便将请求传递给我的网络托管服务商?使用没有子域名的 https 方案?
当浏览时https://example.com
,它当然会解析到一个不提供服务的IP
无法建立连接,因为目标机器主动拒绝它 68.65.123.196:443
该 IP 地址属于我的 DNS 主机。
答案1
问题在于,您的基本域名 (example.com) 的“A”记录指向正确的位置。解决方案是将其添加到您的区域文件中。
由于您使用的是基于云的服务,因此很可能使用 CNAME 将“www.example.com”记录指向云 - 并且最佳实践规定您不要将 CNAME 用于基本域名,因为它的行为方式非直观 - 因此您只能为其添加 A 记录 - 并且如果目标的 IP 地址发生变化,此 A 记录可能会中断 - 其中子域的 CNAME 将保持不变,因为提供商可以更新 CNAME 指向的 A 记录。
因此,简短的回答(95% 正确)是“除非您提供的云可以保证为您提供特定的地址,否则您无法轻松可靠地做到这一点”(您可以进行黑客攻击,例如获取额外的证书、静态 IP 地址并设置重定向 - 但这可能违背了云托管的目的)。
答案2
DNS 将 FQDN 转换为 IP 地址 - 它对 http 与 https 没有任何发言权。
您需要的是您的托管服务提供商为您的网站启用 https。