首先,我们需要明确域名解析不生效和网站不能访问是两个概念。解析不生效是指DNS请求结果与域名解析设置不一样,或者是DNS解析查询不到解析记录。所以如果域名解析不生效,那么网站肯定不能访问或者是访问到错误的站点。
而网站不能访问除了和域名解析相关外,还可能受网站服务器、网站备案、网站程序、网络环境等多方面因素的影响。所以网站不能访问并不代表一定是域名解析不生效。
所以本文针对域名解析不生效提供一个简单的排查思路,如果排查结果正常,那么网站出现问题就可以从其他方面寻找原因。
1.检查域名是否过期
如果域名过期后没有及时续费,域名会被暂停解析,所以要及时关注自己的域名期限,到期之前及时续费;如果过期后再续费,一般需要等待24-48小时才能恢复使用。
2.检查域名状态
通过whois查询域名状态,如果发现域名状态显示为serverhold、clientHold,则代表目前域名处于被注册商或注册局锁定的状态,域名解析暂时不可用,可以联系域名注册商查明原因解除锁定状态。
3.确认是否修改过DNS服务器
由于本地DNS缓存有DNS服务器的名称,所以修改DNS服务器后,不会立即生效,一般根据域名种类不同,需要等待24-48小时才能生效。在新的DNS服务器生效之前,DNS查询仍会请求旧的DNS服务器,所以在修改DNS服务器的48小时内,尽量不要删除或修改旧DNS服务器中的解析记录,否则就很有可能出现请求到旧DNS服务器却查不到解析记录的情况。
4.检查解析记录配置是否正确
主要检查解析线路、主机记录、记录值、TTL值的配置
(1)登陆域名解析控制台,在域名解析列表,检查是否添加了解析记录,如果没有设置解析记录,域名解析肯定是不会生效的。
(2)检查是否配置默认线路,如果没有配置默认线路,也可能导致解析不生效。
(3)检查主机记录和记录值配置是否正确,如果不正确,修改后等待10分钟再测试。
(4)检查TTL值大小,由于TTL的存在,域名解析记录设置成功后,并不会立即生效,需要等待TTL时间过后再测试。
5.确认解析生效时间
解析记录生效时间取决于TTL,一般默认是10分钟,如果没有修改过,建议解析设置成功10分钟后再测试。
如果添加新解析记录:一般是实时生效;
如果修改、删除、暂停、启用记录:需要等待TTL时间过后,解析才会生效;
如果修改DNS服务器:一般需要等待24-48小时才会生效。
6.确认是否为域名被阻断导致
通过dig+trace命令,本地DNS向根DNS服务器查询时,直接返回IP地址,这种情况说明权威解析服务器设置正确,但域名在正常解析过程中受到上级网络设施强行阻断,这可能是由于域名本身出现了问题,需要联系域名注册商对域名的规范性和安全性进行查询。
域名解析不生效的原因有很多种,但只要按照上面的思路进行排查,一般就能查明原因,然后针对性地进行修改,就能解决域名不生效导致的网站不可用的问题。如果解析正常而网站不能访问,就需要联系您的技术人员分分别服务器配置、网站程序、网络环境等多方面进行进一步排查。