需求:簡(jiǎn)單的4層(SSH)和7層(HTTP)反向代理
架設(shè)環(huán)境:CentOS 8
安裝
創(chuàng)新互聯(lián)建站是一家以網(wǎng)站建設(shè)公司、網(wǎng)頁(yè)設(shè)計(jì)、品牌設(shè)計(jì)、軟件運(yùn)維、網(wǎng)站推廣、小程序App開發(fā)等移動(dòng)開發(fā)為一體互聯(lián)網(wǎng)公司。已累計(jì)為成都三輪攪拌車等眾行業(yè)中小客戶提供優(yōu)質(zhì)的互聯(lián)網(wǎng)建站和軟件開發(fā)服務(wù)。
> sudo dnf install haproxy
配置
> sudo vim /etc/haproxy/haproxy.cfg
# 以下是關(guān)鍵修改部分
global
...
maxconn 20480
ulimit-n 65535
...
default
...
stats uri /haproxy?stats # 查看haproxy的狀態(tài),地址http:///haproxy?stats
...
# 定義7層HTTP轉(zhuǎn)發(fā)
frontend sdc
bind *:80
# define acl for different streamset data controller server
acl sdc1-policy hdr_dom(host) -i sdc1.3rd.pla95929
acl sdc2-policy hdr_dom(host) -i sdc2.3rd.pla95929
# back end for acl
use_backend server_sdc1 if sdc1-policy
use_backend server_sdc2 if sdc2-policy
# send X-Forwarded-For header
option forwardfor except 127.0.0.0/8
backend server_sdc1
server srv sdc1:18630 check
backend server_sdc2
server srv sdc2:18630 check
# sdc1和sdc2在haproxy的/etc/hosts有記錄,也可以直接寫ip,srv為自定義的名字
# 定義4層TCP轉(zhuǎn)發(fā)
listen ssh-sdc1
mode tcp
option tcplog
tcp-request inspect-delay 5s
bind *:2201
server node sdc1:22 check
listen ssh-sdc2
mode tcp
option tcplog
tcp-request inspect-delay 5s
bind *:2202
# 4層反代不能通過(guò)檢查host來(lái)配置acl策略,只能使用端口綁定方式實(shí)現(xiàn)