通过 DNS 重定向,同时隐藏登陆服务器

通过 DNS 重定向,同时隐藏登陆服务器

我已经购买了一个域名,并且可以修改其 DNS,我们将其称为 A(因此我可以更改 A、AAAA 和 CNAME)。

然后我购买了另一个带有一些托管空间的域名,称之为 B。

是否可以在访问 A 时显示托管在 B 上的一些内容(而不向用户显示 B 的地址?)

答案1

您只需创建指向第二个域的 CNAME 记录即可。

例如创建类似

domain1.com   IN CNAME   domain2.com 

并要求您的用户使用 domain1.com

从技术上讲,您在域“B”上设置了所有内容。最终,您只需使用域“A”的域名创建一个 CNAME,并使其指向“域 B”。

编辑:注意,如果您使用 SSL,那么您也必须在 CNAME(domain1)上拥有 SSL 证书,以避免出现问题。

答案2

您无法在 DNS 级别解决这个问题,因为 DNS 只能将主机名解析为 IP 地址。它就像电话簿一样。

如果您需要www.example.com/somecontent从一台服务器提供服务而其余服务www.example.com在另一台服务器上,则需要通过 HTTP 协议执行此操作。

如果你的要求是对方服务器的地址不能被泄露,你需要设置一个反向代理

答案3

您可以在 Web 服务器级别使用(基于名称的)虚拟主机执行此操作。

将两个名称的 DNS 设置为相同的 IP。

使用 2 个(基于名称)虚拟主机配置 apache。

domain1 有一个文档根目录/var/www-domain1 ,其中包含一些目录,其中一个名为 /download - 因此该文件夹的文件系统路径是/var/www-domain1/download

设置 domain2,以便其文档根目录为/var/www-domain1/download

domain1 认为http://domain1/download/foo.tar.gz domain2 将服务于http://domain2/foo.tar.gz

另一种偷懒的方法是使用符号链接,只要告诉网络服务器遵循它们即可。您还可以为各种目录设置别名,因此,如果您安装了 phpMyAdmin,它可以在http://anyofyourdomains/phpmyadmin但所有文件都位于 /usr/lib/phpMyAdmin 中,并且该目录只是别名。

相关内容