最近公司開了幾個端口將內部的幾個服務向外開放,其中就包括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