如何在本地将域名重定向到另一个域名?

如何在本地将域名重定向到另一个域名?

我的 /etc/hosts 文件如下所示:

127.0.0.1       localhost
10.20.7.67      testsitealpha.dev
othersite.dev   testsitebeta.dev

前两个有效。最后一个无效。为什么无效?我该如何让它工作?我这样做的原因是,我有一个测试服务器 (othersite.com),它位于本地网络上,但它的 IP 可能会变化。例如,一天是 10.20.7.98,另一天是 10.20.7.35,等等。

那么,我怎样才能让我的系统始终将 testsitebeta.dev 解析为与 othersite.dev 相同的 IP?

答案1

正如 Chris 所写,问题在于“othersite.dev”不是数字。您需要的格式是IP hostname1 [hostname2] [hostname3]

然而,更深层次的问题是人们对主机文件以及可能对 DNS 总体的误解。基本上,主机文件不是为重定向而设计的。在 CPU 周期昂贵的时代,这是一种简单的解决方案。它缺乏诸如无需手动编辑文件即可适应快速变化的 IP 地址等功能。这些问题通过从主机文件切换到基于网络的解析器系统得到了解决。

因此,解决您的问题的真正答案不是使用/etc/hosts,而是使用这种分层分布式命名系统而是。您可以通过多种方式实现这一点。一种方法是 Chris 建议的 CNAME。另一种方法是为第二台服务器提供固定 IP 地址。既可以是真正的静态地址,也可以在 DHCP 服务器中进行预留。

答案2

/etc/hosts 的格式为“IP”“主机名” - 类似于127.0.0.1 localhost

您需要CNAME在本地 DNS 服务器中设置一个,才能实现所需功能。您可以获取“othersite.dev”的 IP,并将其链接到“testitbeta.dev”,就像您对“testitalpha.dev”所做的那样,但当该 IP 发生变化时,您也必须更改/etc/hosts文件。

答案3

如果 othersite.com 具有动态 IP,但始终可以通过名称访问,则必须依赖其注册的 DNS,并始终通过名称引用它。

您的解决方案是将 testsitebeta.dev 设为 othersite.com 的重定向 URL。

服务器名称 testsitebeta.dev 重定向 /http://othersite.com

这样,othersite.com 就始终可以正常工作(不会因错误的主机条目而中断它),并且 testsitebeta.dev 始终通过将名称解析为正确的 IP 重定向到 othersite.com。

相关内容