考虑两个url:
后端运行在http:// localhost:8080
我怎样才能确保以下模式的所有请求将最终在我的后端像下面?
例如 :
www.mysite.com/doA – > localhost:8080 / doA
www.mysite.com/browse/doA – > localhost:8080 / doA
所以基本上www.mysite.com/doA和www.mysite.com/browse/doA的结果都是一样的。
我想使用Apache服务器。 我可以使用proxy_httpredirect一个。 但是它不适用于两个或更多的url:
这是我的configuration工作的一个url
<VirtualHost *:80> ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/ ProxyRequests Off <Proxy http://localhost:8080/*> Order deny,allow Allow from all </Proxy> </VirtualHost>
这应该工作:
<VirtualHost *:80> serverName example.com ProxyRequests Off ProxyPass /browse/ http://localhost:8080/ ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/ </VirtualHost>
配置的
ProxyPass
和ProxyPassMatch
规则按配置顺序进行检查。 第一个匹配胜利的规则。 所以通常你应该首先从最长的URL开始排序冲突的ProxyPass
规则。 否则,更长的URL的更晚的规则将被使用URL的前导子字符串的任何先前的规则隐藏