Apache Httpd 配置

环境: httpd 2.4 + Tomcat 8.0


  1. 修改httpd.conf, 去除注释
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
  1. 配置httpd-vhosts.conf: 监听8088端口
Listen 8088  

<VirtualHost *:8088>
    ProxyPass / http://localhost:8080/
    ProxyPassReverse / http://localhost:8080/
    ErrorLog "logs/tomcat-error.log"
    CustomLog "logs/tomcat-access.log" common
</VirtualHost>
  1. 测试结果

注意:算法

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

相关文章
相关标签/搜索