日期:2014-05-17  浏览次数:20857 次

apache反向代理及端口问题
电脑上现在装有一apche和tomcat,apache端口是默认端口80,tomcat端口是8080,tomcat下部署了一个测试项目test;

现在apache做了反向代理
NameVirtualHost *:80

<VirtualHost *:80>
ProxyPreserveHost On
ServerAdmin abc@163.com
ServerName localhost

ProxyPass /test http://localhost:8080/test/
ProxyPassReverse /test http://localhost:8080/test/

ProxyPass / http://localhost:8080/test/
ProxyPassReverse / http://localhost:8080/test/
</VirtualHost>

这个时候在浏览器访问http://localhost会打开 测试项目 test 的首页;

但是当把apache的端口改成8888,然后反向代理配置改为

NameVirtualHost *:8888

<VirtualHost *:8888>
ProxyPreserveHost On
ServerAdmin abc@163.com
ServerName localhost

ProxyPass /test http://localhost:8080/test/
ProxyPassReverse /test http://localhost:8080/test/

ProxyPass / http://localhost:8080/test/
ProxyPassReverse / http://localhost:8080/test/
</VirtualHost>
其他配置都不变,然后再浏览器访问http://localhost:8888,这时候打开的是apache的测试页面“it works”,为什么不是测试项目test的首页,难道apache使用默认端口80和更改后的端口8888有什么区别?

求教!

------解决方案--------------------
只需要在httpd.conf里改Listen 80 = Listen 8888,然后改成<VirtualHost *:8888>就可以了,不要改那个NameVirtualHost *:80 这个不用改就可以,试试!