实验环境搭建:
web server Director: 192.168.11.131(host-only) 192.168.1.114(桥接) 安装好Apache
app server1 RS1: 192.168.11.132(host-only) 安装好tomcat
app server2 RS2: 192.168.11.129(host-only) 安装好tomcat
一、使用Apache的mod_proxy与TomCat连接
1.检查Apache是否已经加载所需模块
httpd -D DUMP_MODULES|grep proxy
2.注释掉httpd.conf中的DocumentRoot "/var/www/html"
3.在/etc/httpd/conf.d,vim httpd-proxy.conf
<VirtualHost *:80> ProxyVia On ProxyRequests Off ProxyPass / http://192.168.11.132:8080/rs1/ ProxyPassReverse / http://192.168.1.114:8080:rs1/ <Proxy *> # Require all granted </Proxy> <Location /> # Require all granted </Location> </VirtualHost>
注解:
ProxyVia off
#用于控制httpd首部是否使用via,默认off
ProxyRequests off
#是否开启Apache的正向代理功能,启用此项必须启用mod_proxy_http模块,如果设置了ProxyPass,则必须设置为off
ProxyPass / http://192.168.11.132:8080/rs1/
#path(/)为当前服务器上的某虚拟路径,URL(http://192.168.11.132:8080)为后端服务器的某URL路径,
如果Path以/结尾,则URL也必须以/结尾,另外httpd2.1以后支持后端与服务器的连接池功能,可以使用key=value的方式定义.常用key
min:连接池最小要初始化的空间大小
max:连接池的最大容量
loadefactor: 用于负载均衡,定义后端服务器的权重
retry:连接到后端得到错误响应等待多长时间再重试,单位是秒
ProxyPassReverse / http://192.168.1.114:8080/rs1
#在反向代理中必须使用此指令避免重定向报文绕过代理服务器
<Proxy *>
#如果小于2.4,就去掉Require all granted这行
Require all granted
</Proxy>
<Location />
#如果小于2.4,就去掉Require all granted这行
Require all granted
</Location>
4.验证访问 http://192.168.1.114