我找到了一个解决方案,它不是很优雅。它也涉及到第二台服务器上的一些适应。
它来自一个项目,我有一个类似的问题,但需要服务器“完全”(由使用数据库资源的自定义脚本选择)。
这应该至少工作(我运行我的URL通过重写映射进行修改,我调整它使用标头使用RewriteCond
)。
# example for server number "5" in your remote proxy network
RewriteCond %{HTTP:X-CUSTOM-HEADER} 1
RewriteRule http://([a-z0-9\.]+)/(.*) http://$1.5.server.yourdomain.com$1 [P]
ProxyRemoteMatch .*\.5\.server\.yourdomain\.com.* http://5.server.yourdomain.com:80
您基本上调整了网址,以便它是您的第二台服务器的子域,然后再将其删除。
这部分进入第二(远程代理服务器)上:
<ProxyMatch "http://.*\.[0-9]+\.server\.yourdomain\.com/.*">
RewriteEngine on
RewriteRule (proxy:http[s]?://.+)\.[0-9]+\.server\.premiumize\.me(.+) $1$2
... your code ...
</ProxyMatch>
我面临着类似的问题。我还需要一个转发请求,而不是一个反向请求,因为服务器本身不占用资源,但应从互联网上获取它们。你有没有想出一个解决方案呢? – 2011-09-04 12:34:46
这个要求毕竟被删除了,所以我没有机会在生产中测试解决方案。 – Alin 2011-10-25 20:39:28