配置Apache mod_proxy模块反向代理tomcat,去除tomcat访问的端口号

首先检查apache根目录下的modules目录中是否有mod_proxy.so、mod_proxy_http.so文件,如果没有,说明编译安装apache时没有配置proxy模块。可以参照这篇文章的方法,给已经编译运行的Apache增加mod_proxy模块。

配置完后重启apache生效,此时就已经加载mod_proxy.so、mod_proxy_http.so这两个模块了,可以

grep 'proxy' conf/httpd.conf
检查下。如果有用到AJP或者tomcat负载均衡,则还需编译增加其他模块,这个再自行搜索即可。

然后在apache的conf/vhost/目录中新增一个conf配置文件,可以复制已存的拿来改。如下是我的内容

<VirtualHost *:80>
DocumentRoot /www/domain.com
ServerName www.domain.com
ServerAlias *.domain.com

ProxyRequests Off
ProxyPass /download.html !   #表示改URL不反代
ProxyPass /img !
ProxyPass / http://www.domain.com:8080/MyTomcatApp/
ProxyPassReverse / http://www.domain.com:8080/MyTomcatApp/
</VirtualHost>

参考文章:

http://freeloda.blog.51cto.com/2033581/1301382
https://rvdb.wordpress.com/2012/04/26/reverse-proxying-tomcat-webapps-behind-apache/

标签: apache, 反向代理, tomcat, mod_proxy

添加新评论