RHEL 7配置HAProxy實現Web負載均衡

大雄45發表於2023-05-17
本文將簡單介紹使用HAProxy實現web負載均衡,主要內容包括基於權重的輪詢、為HAProxy配置https、配置http重定向為https、配置HAProxy使用獨立日誌。
一、測試環境
HAProxy:

主機名:RH7-HAProxy
IP地址:192.168.10.20
作業系統:Red Hat Enterprise Linux Server release 7.2 (Maipo)最小化安裝
防火牆與SELinux:關閉
安裝的服務:HAProxy-1.5.14

WEB01:

主機名:RH7-Web-01
IP地址:192.168.10.21
作業系統:Red Hat Enterprise Linux Server release 7.2 (Maipo)最小化安裝
防火牆與SELinux:關閉
安裝的服務:Apache-httpd 2.4

WEB02:

主機名:RH7-Web-02
IP地址:192.168.10.22
作業系統:Red Hat Enterprise Linux Server release 7.2 (Maipo)最小化安裝
防火牆與SELinux:關閉
安裝的服務:Apache-httpd 2.4

二、WEB頁面訪問測試

1、使用瀏覽器訪問兩臺web的IP地址,能成功訪問到不同的頁面,方便我們後面直觀地觀察負載均衡的效果。由於Apache的安裝配置不是本文重點,具體可參考本人之前的博文《RedHat 7安裝配置Apache 2.4》
RHEL 7配置HAProxy實現Web負載均衡RHEL 7配置HAProxy實現Web負載均衡

2、在RH7-HAProxy上也訪問一下兩臺Web,確認也可以正常訪問
RHEL 7配置HAProxy實現Web負載均衡RHEL 7配置HAProxy實現Web負載均衡

三、安裝配置HAProxy
[root@RH7-HAProxy~]yum -y install haproxy
[root@RH7-HAProxy~]systemctl start haproxy
[root@RH7-HAProxy~]systemctl enable haproxy
[root@RH7-HAProxy~]mv /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak
[root@RH7-HAProxy~]vi /etc/haproxy/haproxy.cfg

增加以下內容,然後重啟haproxy服務
RHEL 7配置HAProxy實現Web負載均衡RHEL 7配置HAProxy實現Web負載均衡
使用瀏覽器訪問HAProxy的IP地址,多次重新整理,成功實現輪詢訪問web01和web02
RHEL 7配置HAProxy實現Web負載均衡RHEL 7配置HAProxy實現Web負載均衡
RHEL 7配置HAProxy實現Web負載均衡RHEL 7配置HAProxy實現Web負載均衡
登入haproxy的後臺
RHEL 7配置HAProxy實現Web負載均衡RHEL 7配置HAProxy實現Web負載均衡
可以看到訪問web01和web02的相關統計資料
RHEL 7配置HAProxy實現Web負載均衡RHEL 7配置HAProxy實現Web負載均衡
修改haproxy的配置檔案,將web01的權重改為3,web02的權重仍為1,這樣訪問到兩臺web的比例應該為3:1,改好後重啟下haproxy服務
RHEL 7配置HAProxy實現Web負載均衡RHEL 7配置HAProxy實現Web負載均衡
再次透過瀏覽器訪問HAProxy的IP地址,多次重新整理進行訪問測試
再次登入HAProxy後臺檢視統計資料,可以看到訪問到web01和web02的比例為3:1
RHEL 7配置HAProxy實現Web負載均衡RHEL 7配置HAProxy實現Web負載均衡

四、配置HAProxy使用Https加密訪問

採用客戶端到HAProxy使用https、HAProxy到WEB端使用http的方式,只需要在HAProxy上配置證書,這裡我們就配置一張自簽名證書來測試一下
RHEL 7配置HAProxy實現Web負載均衡RHEL 7配置HAProxy實現Web負載均衡
檢視一下配置好的證書jiangjianlong.pem
RHEL 7配置HAProxy實現Web負載均衡RHEL 7配置HAProxy實現Web負載均衡
修改HAProxy的配置檔案,增加以下引數後重啟haproxy服務
RHEL 7配置HAProxy實現Web負載均衡RHEL 7配置HAProxy實現Web負載均衡
使用https協議訪問HAProxy的IP地址,提示證書存在問題,這是因為自簽名證書不受瀏覽器信任,但說明上文配置的證書已經生效了,點選繼續瀏覽此網站
RHEL 7配置HAProxy實現Web負載均衡RHEL 7配置HAProxy實現Web負載均衡
成功訪問到Web01頁面,重新整理也能訪問到Web02,說明在https的加密訪問下負載均衡也沒問題
RHEL 7配置HAProxy實現Web負載均衡RHEL 7配置HAProxy實現Web負載均衡
RHEL 7配置HAProxy實現Web負載均衡RHEL 7配置HAProxy實現Web負載均衡
透過hosts解析配置一個域名指向HAProxy的IP地址,也能正常訪問
RHEL 7配置HAProxy實現Web負載均衡RHEL 7配置HAProxy實現Web負載均衡
檢視下證書資訊,跟我們建立的證書資訊一致
RHEL 7配置HAProxy實現Web負載均衡RHEL 7配置HAProxy實現Web負載均衡
RHEL 7配置HAProxy實現Web負載均衡RHEL 7配置HAProxy實現Web負載均衡
配置http重定向,自動將http重定向為https,修改haproxy配置檔案,增加以下引數,並重啟服務
RHEL 7配置HAProxy實現Web負載均衡RHEL 7配置HAProxy實現Web負載均衡
使用瀏覽器測試,成功實現http自動重定向為https進行訪問,但由於截圖無法呈現這個動態的效果,就不截了。

五、配置HAProxy使用獨立日誌檔案

1、HAProxy的日誌預設寫入到系統日誌中去,我們可以把它獨立出來,方便排查管理。編輯/etc/rsyslog.conf,按下圖進行修改
RHEL 7配置HAProxy實現Web負載均衡RHEL 7配置HAProxy實現Web負載均衡
RHEL 7配置HAProxy實現Web負載均衡RHEL 7配置HAProxy實現Web負載均衡
2、重啟rsyslog服務,再透過瀏覽器訪問一下web以便產生日誌,然後檢視/var/log/haproxy.log,發現日誌已經按照我們上文所配置的那樣,記錄到/var/log/haproxy.log來了
RHEL 7配置HAProxy實現Web負載均衡RHEL 7配置HAProxy實現Web負載均衡

  

本文原創地址:https://www.linuxprobe.com/redhat7-haproxy-weblb.html

相關文章