我遇到了一个奇怪的问题。我有一个域名,它指向托管我网站的服务器,现在该域名的 DNS 被错误地更改为其他内容,并开始指向其他地方,但我仍然可以查看、登录和编辑该网站,但当有人试图从其他国家/地区访问它时,它开始给他错误
即使 DNS 已更改,我仍然能够看到所有这些,这是怎么回事呢?
答案1
发生这种情况的原因有多种。
- DNS TTL(生存时间):DNS 被缓存是因为自您上次请求域名的 DNS 以来的时间尚未过期......对于您之前的其他人来说它可能已过期,因为并非地球上的每个用户都会同步他们的时钟以在完全相同的秒内开始他们的 86400 秒(如果您的 TTL 设置如此)。
- 浏览器缓存:例如,Google Chrome 具有内置 DNS 缓存。我个人曾遇到过 TTL 过期的情况,甚至在 hosts 文件中手动为某个域设置了不同的 IP,结果却发现这是浏览器缓存 DNS。当用户打开包含该特定域的选项卡时,似乎会保留原始 IP,但这只是我的个人经历,并没有进行测试来证明这一理论。
- 视窗
hosts
文件或 *nix 等效项:您还可以在文件中手动选择域名指向的 IPhosts
(Linux/Unix/Mac 有所不同)。如果您想在同一域名上开发一个网站,但尚未准备好让其他人看到它,那么这种方法就很不错。只需将您的域名指向您的本地主机或新的网络托管公司,然后秘密开发整个网站,甚至在本地使用域名。没有人会看到这一点,但当然它没有密码保护,因此有人可能会可以可能找到它。然后,当准备上线时,更新注册商处的 DNS 以指向新的网络托管 IP 地址并删除您的主机条目。
以下是关于如何安全地更改 DNS。
答案2
即使 DNS 已更改,我仍然能够看到所有这些,这是怎么回事呢?
缓存,DNS 记录的缓存时间是其生存时间 (TTL)。如果您的本地缓存没有超时,那么它就不会看到更改。
主机文件中的本地条目。通常在 DNS 之前查询主机文件。
这TCP/IP 指南是 DNS 的优秀资源。