最近公司开了几个端口将内部的几个服务向外开放,其中就包括Trac,经过与服务商几番交涉,几个端口的连接总算稳定下来,可好死不死的,映射到Trac的端口竟然在某些地方访问不了,比如我自己家里通过电信的线路就访问不了,可其它端口却能顺利访问,不想再去和服务商交涉了,于是想到能不能通过其它端口来访问呢?考虑到其他有个端口也是映射到一台Apache服务器上,揣测号称Internet第一大Web服务器软件的Apache,应该提供了相应的解决方案吧。上网稍一搜索,还真找到不少文章,这里记录下来相关设置,以备后用。
1. 打开Apache的配置文件httpd.conf,找到下面的内容,将注释去掉,以启动代理模块
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
2. 在配置文件httpd.conf最后添加
<IfModule mod_proxy.c>
ProxyRequests off
<Proxy /ps>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /ps http://192.168.0.2:8080/projects
ProxyPassReverse /ps http://192.168.0.2:8080/projects
</IfModule>
看来,Apache还真的是够强劲,要想用好,还真要花不少时间。唉,搞IT的人就是命苦啊:-(
关于mod_proxy的详细介绍,可以参考http://docs.huihoo.com/apache/httpd/2.0-cn/mod/mod_proxy.html