将发往一个主机的流量重定向到另一个主机

将发往一个主机的流量重定向到另一个主机

在 Windows 机器上,我想将所有发往某台主机的传出网络流量导向另一台主机(而不是另一个 IP 地址)。例如,所有发往的请求都host.acme.com必须发往server.ajax.net或类似的东西。

该怎么做或者我必须搜索什么?(如果我理解了正确的术语,搜索就会容易得多)。

(关于我想要实现的目标的一些背景知识:我想在我的计算机上为自己设置类似 UnoTelly 的东西,其中对某些主机的请求会发送到 AWS Cloudfront 服务器。但是,为此,将主机名解析为不同的 IP 地址是不够的;我必须实际上通过主机名将流量转发到不同的主机)。

答案1

最简单的方法是使用机器的主机文件:

  1. 找出要重定向到的计算机的 IP 地址
  2. 使用任何文本编辑器编辑该c:\windows\system32\drivers\etc\hosts文件(是的,没有扩展名)。您可能需要使用高安全性令牌启动编辑器(如果启用了 UAC,则以管理员身份运行)
  3. 在主机文件中添加一行内容:

1.2.3.4 host.acme.com

(其中 1.2.3.4 实际上是目标机器的 IP 地址)

保存文件,您就大功告成了。但请注意,这只会更改使用host.acme.comdns 主机名时要连接的计算机的 IP 地址。它不会更改这些连接的内容中的任何内容,因此如果您使用 HTTP(或 SSL)等协议,其中主机名嵌入到数据中,则目标计算机可能无法正确响应。

答案2

正如以下答案指出的那样,您无法路由到主机名:https://serverfault.com/a/301984/118544

但是,就我的目的而言,因为我只对路由 Web 流量感兴趣,所以我能做的似乎就是使用 /etc/hosts 向某些主机发出请求,然后转到本地主机,然后使用本地 Apache 实例和 mod_rewrite 在标头匹配时将请求转发到不同的主机host

相关内容