我已经尝试解决这个问题一段时间了。我一直在谷歌搜索,但还是没能找到答案。
我为我的客户准备了很多 VPS。每个 VPS 都有自己的 IP 地址,上面有一个网站,还有自己的域名,这些域名由客户控制(所以我无法访问他们的 DNS 设置)。我将 VPS 的主机名设置为我网站的子域(srv01.companyname.com、srv02.companyname.com 等),并为每个 VPS 设置一个 A 记录,指向分配的 IP 地址。我还有一个反向 DNS,将每个 IP 地址与其 companyname.com 子域(或主机名)匹配,因为这似乎可以避免外发电子邮件被视为垃圾邮件。
我告诉客户创建 CNAME 记录并让它们指向他们的 VPS 主机名(例如 srv01.companyname.com)。这个设置对我来说很可靠,因为我无法控制域名,如果我必须移动 VPS 和/或更改其 IP 地址,我可以独立完成,只需更改 A 和反向 DNS 记录,而无需我的客户采取任何行动。
现在,问题是一切正常,但虽然您可以在主域名上看到该网站,但您也可以在 companyname.com 子域上看到它,而这并不是我真正想要的。
所以我有两个问题:1) 有什么方法可以避免这种情况吗?有没有其他方法可以让域名使用 CNAME 记录,以便我仍然可以控制 IP 地址,而网站不会在子域上可见?
2) 如果没有办法,我必须让客户直接将他们的域名指向 IP 地址,我应该将主机名设置为什么,才能使反向 DNS 正常工作?我是否仍然可以保留相同的主机名和反向 DNS,并且电子邮件可以顺利通过?
我感谢任何帮助或建议。
谢谢!!!
答案1
我不知道你使用的是什么服务器,但你可以告诉虚拟主机在 Apache 和 Nginx 中仅监听特定域(在host
标头中传输)。因此您可以:
向您的配置中添加与 srv$.example.com 匹配的 vhost,并让其重定向到您的主页。
将默认虚拟主机设置为重定向,并创建特定域特定的虚拟主机来为客户端的页面提供服务