将 apache 配置为代理并重新映射一个域

将 apache 配置为代理并重新映射一个域

对于本地测试,我使用 Charles 代理,对于那些不知道的人来说,这是一个调试 HTTP 请求的工具。它可以配置为代理并拦截请求/响应,并能够用它做几件事,比如对我来说最重要的是将一个域“重新映射”到另一个域。

这意味着当我想在我的移动设备上设置代理并尝试访问时a.domain.tldb.domain.tld我可以将 Charles 配置为将数据透明地重定向到c.domain.tldd.domain.tld

这就是我想要用 Apache 做的事情(最好)(但欢迎提出建议)。

我对此了解一点,mod_proxy但我找不到任何类似的例子,我敢打赌,在玩重写模块时我可以用它来做一些事情,但我确信有一件简单的事情可以做。

我想做的事:

  • 在 apache 中配置一个名为proxy.domain.tld
  • 它将充当任何代理除了针对域a.domain.tld以及b.domain.tld其将要针对的c.domain.tld对象d.domain.tld

有什么建议吗?

答案1

随口说说,这ProxyRemote应该是你要找的东西。该指令的目的是允许一个代理将一些请求转发给下一个,同时直接为其他请求提供服务。未经测试,但应该可以利用这一点来发挥你的优势:

ProxyRequests On
ProxyVia On

<Proxy *>
  Order deny,allow
  Deny from all
  Allow from 1.2.3.4

  # Redirect these two domains to different destination
  ProxyRemote http://a.domain.tld http://c.domain.tld
  ProxyRemote http://d.domain.tld http://d.domain.tld
</Proxy>

注意!:请务必填写一些真实的IP号码或其他身份验证,这样您就不会为自己创建开放的代理。

相关内容