配置 apache 2.2 以侦听 20 个不同端口然后将这些请求代理到另一台服务器上的相同端口的最简单方法是什么?例如,对于端口 1000 到 1019,对 的请求http://myserver.com:1000/
应代理转发到http://otherserver.com:1000/
,对 的请求http://myserver.com:1001/
应代理转发到http://otherserver.com:1001/
,依此类推。
使用 20 条指令即可轻松让我的服务器监听 20 个不同的端口Listen
。问题在于代理指令。mod_proxy
模块的ProxyPass
指令似乎没有地方引用端口号。我可以创建 20 个不同的VirtualHost
部分,并在每个部分中放入代理指令:
<VirtualHost *:1000>
ProxyPass / http://otherserver.com:1000/
ProxyPassReverse / http://otherserver.com:1000/
</VirtualHost>
<VirtualHost *:1001>
ProxyPass / http://otherserver.com:1001/
ProxyPassReverse / http://otherserver.com:1001/
</VirtualHost>
<VirtualHost *:1002>
ProxyPass / http://otherserver.com:1002/
ProxyPassReverse / http://otherserver.com:1002/
</VirtualHost>
...
但这似乎非常繁琐。虽然我可以通过模板以编程方式生成所有这些块,但我不得不相信有更好的方法,也许使用单一mod_rewrite
规则或类似的东西?有什么建议吗?
答案1
答案2
编写一个脚本来编写您的配置。