在网络和 DNS 方面我绝对不是一个专业人士,但是我知道一些自己熟悉的东西。
我正在尝试执行以下操作。客户的主机没有足够的空间和权限来托管我正在开发的小型网站。因此,我将网站托管在自己的服务器上。但我希望最终 URL 与客户的域一致。因此,我所做的就是在客户的主机上创建一个 CNAME,指向我服务器上的一个新子域。类似于:
My subdomain: client.myhosting.com
CNAME on client's hosting: register.clientdomain.com -> client.myhosting.com
指向工作正常,但是当我打开时,我register.clientdomain.com
没有得到的内容,而是client.myhosting.com
得到了的根文件夹myhosting.com
。
我曾使用这种方式在 Instapage 和 Shopify 等服务中屏蔽 URL,因此我认为只有使用子域名这样做才有意义。
我已经与托管服务的支持人员取得联系,但我不确定他们是否不太理解我,他们是否不知道如何做到这一点,或者我是否错了并且无法做到这一点。
我是否缺少一些额外的配置或者我的主机配置不正确?
[编辑:对第一个回复的评论表明这是 cPanel,因此问题是如何使用 cPanel 配置虚拟主机别名]
答案1
URL 中使用的主机名被发送到 Web 服务器以帮助其选择正确的内容(虚拟主机),而 CNAME 仅帮助客户端(Web 浏览器或其他)找到 Web 服务器的 IP 地址,它们不会更改发送的内容。
因此,需要配置 Web 服务器,使其知道应该为哪些域提供该内容。register.clientdomain.com
需要将上述示例作为“vhost 别名”添加到保存内容的虚拟主机。
做不是配置 Web 服务器以返回内容任何访问的主机名,这样会造成安全噩梦(因为您的内容可以通过攻击者控制的域名访问,从而可能导致敏感数据泄露)。只需添加单个已知/允许的服务器名称即可。