haproxy 配置文件說明

haproxy.cfg
global                                # 全局配置
    log         127.0.0.1 local0
    log         127.0.0.1 local1 notice
    maxconn     4096                  # 最大連接數  
    uid         1005                  # 所屬運行的用戶UID  
    gid         1005                  # 所屬運行的用戶組  
    daemon                            # 以後臺形式運行HAProxy 
    #nbproc                           # 啓動1個實例,可以啓多個來提高效率      
    #pidfile    /var/run/haproxy.pid  

defaults                            # 默認配置
    log     global
    mode    http
    option  httplog
    option  dontlognull
    retries 3                       # 重試次數 
    #option httpclose               # 每次請求完畢後主動關閉http通道 
    option  redispatch              # 當serverId對應的服務器掛掉後,強制定向到其他健康的服務器
    #option abortonclose            # 當服務器負載很高的時候,自動結束掉當前隊列處理比較久的鏈接  
    #option dontlognull             # 保證HAProxy不記錄上級負載均衡發送過來的用於檢測狀態沒有數據的心跳包 
    maxconn 2000                    # 最大連接數
    #balance source                 # 如果想讓HAProxy按照客戶端的IP地址進行負載均衡策略,即同一IP地址的所有請求都發送到同一服務器時需要配置此選項  
    timeout connect 5000
    timeout client  50000
    timeout server  50000

listen admin_stats                  # 配置段通過關聯“前端”和“後端”定義了一個完整的代理,通常只對TCP流量有用
    bind 0.0.0.0:1080               # 監聽端口  
    mode http                       # http的7層模式  
    option httplog                  # 採用http日誌格式 
    maxconn 10
    stats refresh 30s               # 統計頁面自動刷新時間
    stats uri /stats                # 統計頁面url  
    stats realm yooCloud Haproxy    # 統計頁面密碼框上提示文本  
    stats auth admin:admin          # 統計頁面用戶名和密碼設置
    stats hide-version              # 隱藏統計頁面上HAProxy的版本信息

frontend weblb                      # 配置段用於定義一系列監聽的套接字,這些套接字可接受客戶端請求並與之建立連接
    bind *:80
    acl is_dg hdr_beg(host) dg.test.com         # 該行定義一個is_dg規則,如果客戶端請求的是dg.test.com這個域名,則定義該規則爲is_dg
    acl is_ilanni hdr_beg(host) ilanni.test.com
    acl is_171 hdr_beg(host) 172.18.19.101
    acl is_ip src 172.18.19.102                 # 該行定義一個is_ip規則,如果客戶端的IP地址是192.168.5.140,則定義該規則爲is_ip
    use_backend acl if is_171 is_ip             # 該定義一個acl服務器組,如果客戶端請求同時符合is_ip和is_171定義的規則,則把該客戶端的請求分發到acl服務器組
    use_backend dgserver if is_dg               # 該定義一個dgserver服務器組,如果客戶端請求符合is_dg定義的規則,則把該客戶端的請求分發到dgserver服務器組
    use_backend ilanni if is_ilanni
    use_backend 171server if is_171
    default_backend backend_default             # 該行定義一個默認服務器組,如果客戶端請求不符合上述定義的任何一個規則,則把該客戶端的請求分發到backend_default服務器組

backend dgserver                    # 配置段用於定義一系列“後端”服務器,代理將會將對應客戶端的請求轉發至這些服務器
    balance source
    server web1 172.18.19.101:8080 maxconn 1024 weight 3 check inter 2000 rise 2 fall 3
    server web2 172.18.19.102:8080 maxconn 1024 weight 3 check inter 2000 rise 2 fall 3
    server web3 172.18.19.103:8080 maxconn 1024 weight 3 check inter 2000 rise 2 fall 3

backend 171server
    balance roundrobin
    server dg1 172.18.19.102:80 check
    server dg2 172.18.19.103:80 check

backend ilanni
    server web1 www.yuanbaopu.com:80 weight 3 check inter 2000 rise 2 fall 3

backend acl
    balance source
    server web1 www.ilanni.com:80 maxconn 1024 weight 3 check inter 2000 rise 2 fall 3

backend backend_default
    server web1 192.168.5.178:8080 weight 3 check inter 2000 rise 2 fall 3

listen 8090
    bind 0.0.0.0:8090
    mode http
    balance roundrobin
    server web1 192.168.5.174:8090 maxconn 1024 weight 5 check inter 2000 rise 2 fall 3
    server web2 192.168.5.178:8090 maxconn 1024 weight 3 check inter 2000 rise 2 fall 3
發佈了112 篇原創文章 · 獲贊 11 · 訪問量 45萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章