Ali*_*lin 6 apache mod-rewrite proxy forward
我想基于请求标头将Apache中的请求转发给不同的转发代理.我认为最好的方法是使用mod_rewrite,但它只能使用在相同的apache配置中定义的反向代理.
我还检查了mod_proxy的ProxyRemote属性,但它不能根据条件使用,只能基于请求url.
我需要这样的东西:
如果X-CUSTOM-HEADER是值-1 - >转发请求转发代理p1如果X-CUSTOM-HEADER是值-2 - >转发请求转发代理p2
等等
Din有人设法制作这样的东西吗?
谢谢,艾琳
我找到了一个解决方案,它并不是很优雅。它还涉及第二个服务器上的一些调整。
它源自一个项目,在该项目中我遇到了类似的问题,但需要“完全”服务器(由使用数据库资源的自定义脚本选择)。
这至少应该有效(我通过重写映射运行我的 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
Run Code Online (Sandbox Code Playgroud)
您基本上会调整 URL,使其成为第二个服务器的子域,然后再次将其删除。
这部分继续第二个(远程代理服务器):
<ProxyMatch "http://.*\.[0-9]+\.server\.yourdomain\.com/.*">
RewriteEngine on
RewriteRule (proxy:http[s]?://.+)\.[0-9]+\.server\.premiumize\.me(.+) $1$2
... your code ...
</ProxyMatch>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5103 次 |
| 最近记录: |