通过 DNS 将特定域名重定向到个人域名

通过 DNS 将特定域名重定向到个人域名

我正在尝试通过 DNS 将所有来自不属于我的域的流量请求重定向到属于我的另一个域。但 Acrylic 只能转发到 IP,而不能转发到域。我可以使用 Acrylic 来做到这一点吗?或者我可以使用其他程序吗?不,我不能直接转发到我的域的 IP,因为它是动态的。提前致谢。

答案1

因此,您不是在考虑重定向本身(因为这发生在应用程序级别,即 apache/nginx/wherever 上),而是在考虑 DNS 解析 - DomainA 所在的主机将或永远不会被命中 - 根据您的描述,因为您希望 DNS 请求解析为 DomainB 的 IP。除非我遗漏了您的请求中的某些内容?

正如 Shane 指出的那样,DNS 无法进行 HTTP 重定向 - 这是应用程序/Web 服务器的职责。您可以让 DomainA 和 DomainB 在 DNS 上解析为相同的 IP,这样一切都会正常进行。但是,如果您希望以每个 URL/每个路径的方式执行此操作,那么这是不可能的 - DNS 无法做到这一点 - 它是一种简单的 DNS->IP 服务,实际 URL 的处理是 Web 服务器的任务。

好的,所以在下面的评论之后......我会做的是将 DomainA 的所有 DNS 记录引用到与 DomainB 指向的相同 IP - 这样您将获得到达 hostB 的 HTTP 请求,然后这只是一个简单的问题:

  • A)创建一个特定的基于 Apache 名称的虚拟主机 - 它将通过自己的 DocumentRoot 提供文件服务
  • B) 在 apache 上创建永久重定向,如下所示:这会将进入 DomainB 的所有内容重写到可以托管在同一台服务器或其他服务器上的 DomainA。我理解第二种选择可能是一种开销,如果您可以/被允许在 apache 上创建基于名称的虚拟主机,则没有必要。

<VirtualHost *:80> ServerName DomainB Redirect permanent / http://DomainA/ </VirtualHost>

我会选择 a) - 将 DomainA 的所有 DNS 记录指向与 DomainB 指向相同的 IP,并在 apache 上创建特定的基于名称的虚拟主机

来源:serverfault 上的类似问题

相关内容