LoadModule vhost_alias_module modules/mod_vhost_alias.so LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so LoadModule slotmem_shm_module modules/mod_slotmem_shm.so # Virtual hosts Include conf/extra/httpd-vhosts.conf
Listen 8088 <VirtualHost *:8088> ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/ ErrorLog "logs/tomcat-error.log" CustomLog "logs/tomcat-access.log" common </VirtualHost>
注意:算法
ProxyPassReverse : 调整由反向代理服务器发送的HTTP响应头中的URL,也就是对后端服务器返回响应头中的URL信息进行调整,使其指向的是反向代理服务器,而不是真正的后端服务器。由于后端服务器只能经过代理服务器访问,客户端没法访问,若是客户端访问的页面存在重定向请求的话,若是使用后端服务器在前一次请求的响应URL信息,也就是客户端直接访问后端服务器,由于安全考虑这条访问路径是不一样的,致使客户端访问失败。若是将前一次请求的URL信息改成反向代理服务器的URL,这样经过反向代理服务器访问后端服务器则不会出现问题。后端
http负载均衡配置: 改造httpd-vhosts.conf文件:tomcat
## 虚拟主机转发端口监听 Listen 8088 <VirtualHost *:8088> # 取消/server-status,/balancer-manager路径请求代理 ProxyPass /server-status ! ProxyPass /balancer-manager ! <Location /server-status> SetHandler server-status Require all granted </Location> #设置balancer-manager监控页面 <Location /balancer-manager> SetHandler balancer-manager Require all granted </Location> # 设置负载均衡器 <Proxy balancer://myBalancer> BalancerMember http://localhost:8080 ProxySet lbmethod=byrequests </Proxy> # 集群模式:请求转发到负载均衡器处理 ProxyPass / balancer://myBalancer ProxyPassReverse / balancer://myBalancer/ ErrorLog "logs/tomcat-error.log" CustomLog "logs/tomcat-access.log" common </VirtualHost>
说明:安全
使用负载均衡管理器能够将客户端请求经过特定的负载算法,将请求转发给一个应用服务器集群,从而保证系统的高可用特性。服务器
结果验证:负载均衡
服务器信息页面:测试
负载均衡器管理页面:ui