我已经blog.example.net
用 Dreamhost 配置了一个子域名,如下所示
blog CNAME mygreatblog.ghost.io
意思是通过 CNAME 记录blog.example.net
指向。mygreatblog.ghost.io
我可以在这里确认 CNAME 的设置是否正确:
https://www.whatsmydns.net/#CNAME/blog.example.net
然而,当我真正访问时,blog.example.net
我最终还是会进入一个不同的网站 - 一个我也在 的不同子域下托管的 gitlab 实例example.net
。
我甚至可以确认存储了错误的 A 记录,该记录指向我不认识的 IP(它似乎是某个 cloudflare 网络 IP):
https://www.whatsmydns.net/#A/blog.example.net
现在这是我尝试过的:
- 在隐身窗口中打开 blog.example.net
- 在 dreamhost 上刷新 DNS,该域名在名称服务器上注册
- 等待12小时
- 刷新 Google 和 OpenDNS 的 DNS 缓存
我想做的是:清除 cloudflare 的缓存。但是,我甚至没有 cloudflare 帐户(至少我不知道有)。我的 gitlab 实例以某种方式使用了 cloudflare,但我找不到有关它的任何文档。
我的问题是:
这是一个 DNS 缓存问题吗?
如果是,为什么 DNS 刷新没有效果?
如果这是不是DNS 缓存问题,还能是什么?
答案1
即使不知道实际的域名,根本原因也是清楚的。CNAME
记录不是 HTTP重定向也不是 HTTP反向代理。 服务器mygreatblog.example.com
不知道主机名blog.example.net
(由 Web 浏览器在 HTTPHost:
标头中发送),也不知道应该显示哪个站点。因此,您将获得配置为默认虚拟主机的任何内容。
可能的解决方案:
- 联系服务提供商并询问是否可以为虚拟主机添加别名。
- 使用您自己的服务器执行 HTTP重定向(URL 发生变化)。
- 使用您自己的服务器作为 HTTP反向代理。