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

相關文章
相關標籤/搜索