-1

我有一个托管在以下路径上的网站:mywebsite.com/test 使用以下 DNS

mywebsite.com            A   1.2.3.4 (host ip)
host.mywebsite.com       A   1.2.3.4 (host ip)

在另一个域上,我正在尝试使用以下命令将子域 CNAME 重定向到此页面:

link.myotherdomain.com   CNAME .  mywebsite.com/test

但是,当我访问 link.myotherdomain.com 时,它会显示 host.mywebsite.com 而不是 mywebsite.com

我做错了什么?

谢谢

4

1 回答 1

1

CNAME 记录不能包含路径。它仅适用于域到域。此设置将起作用。

link.myotherdomain.com.   CNAME   mywebsite.com.

如果配置正确,所有的mywebsite.com host.mywebsite.com link.myotherdomain.com都解析为1.2.3.4,那么下面的 HTTP 请求将被发送到 IP 地址1.2.3.4

GET /test HTTP/1.1
Host: link.myotherdomain.com
......(omit)

现在,最可疑的元素是网络服务器的虚拟主机设置。这是 Web 服务器的一项功能,根据请求标头中的 Host 值,它的行为就好像它是不同的服务器。

要调查虚拟主机,以下可能是最简单的方法。

  • curl -H 'Host:mywebsite.com' http://1.2.3.4/test// 这样就可以了
  • curl -H 'Host:link.myotherdomain.com' http://1.2.3.4/test// 如果启用了虚拟主机,这将不会正常
于 2018-05-02T22:17:33.620 回答