对于本地测试,我使用 Charles 代理,对于那些不知道的人来说,这是一个调试 HTTP 请求的工具。它可以配置为代理并拦截请求/响应,并能够用它做几件事,比如对我来说最重要的是将一个域“重新映射”到另一个域。
这意味着当我想在我的移动设备上设置代理并尝试访问时a.domain.tld
,b.domain.tld
我可以将 Charles 配置为将数据透明地重定向到c.domain.tld
和d.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号码或其他身份验证,这样您就不会为自己创建开放的代理。