日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

haproxy配置文件详解--转

發布時間:2025/4/5 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 haproxy配置文件详解--转 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

原始出處:http://itnihao.blog.51cto.com/1741976/915537

  • #/usr/local/sbin/haproxy?-f?/etc/haproxy/haproxy.cfg?-st?`cat?/var/run/haproxy.pid`?
  • ???????####################全局配置信息########################?
  • ???????#######參數是進程級的,通常和操作系統(OS)相關#########?
  • global?
  • ???????maxconn?20480???????????????????#默認最大連接數?
  • ???????log?127.0.0.1?local3????????????#[err?warning?info?debug]?
  • ???????chroot?/var/haproxy?????????????#chroot運行的路徑?
  • ???????uid?99??????????????????????????#所屬運行的用戶uid?
  • ???????gid?99??????????????????????????#所屬運行的用戶組?
  • ???????daemon??????????????????????????#以后臺形式運行haproxy?
  • ???????nbproc?1????????????????????????#進程數量(可以設置多個進程提高性能)?
  • ???????pidfile?/var/run/haproxy.pid????#haproxy的pid存放路徑,啟動進程的用戶必須有權限訪問此文件?
  • ???????ulimit-n?65535??????????????????#ulimit的數量限制?
  • ?
  • ?
  • ???????#####################默認的全局設置######################?
  • ???????##這些參數可以被利用配置到frontend,backend,listen組件##?
  • defaults?
  • ???????log?global?
  • ???????mode?http???????????????????????#所處理的類別?(#7層?http;4層tcp??)?
  • ???????maxconn?20480???????????????????#最大連接數?
  • ???????option?httplog??????????????????#日志類別http日志格式?
  • ???????option?httpclose????????????????#每次請求完畢后主動關閉http通道?
  • ???????option?dontlognull??????????????#不記錄健康檢查的日志信息?
  • ???????option?forwardfor???????????????#如果后端服務器需要獲得客戶端真實ip需要配置的參數,可以從Http?Header中獲得客戶端ip??
  • ???????option?redispatch???????????????#serverId對應的服務器掛掉后,強制定向到其他健康的服務器??
  • ???????option?abortonclose?????????????#當服務器負載很高的時候,自動結束掉當前隊列處理比較久的連接?
  • ???????stats?refresh?30????????????????#統計頁面刷新間隔?
  • ???????retries?3???????????????????????#3次連接失敗就認為服務不可用,也可以通過后面設置?
  • ???????balance?roundrobin??????????????#默認的負載均衡的方式,輪詢方式?
  • ??????#balance?source??????????????????#默認的負載均衡的方式,類似nginx的ip_hash?
  • ??????#balance?leastconn???????????????#默認的負載均衡的方式,最小連接?
  • ???????contimeout?5000?????????????????#連接超時?
  • ???????clitimeout?50000????????????????#客戶端超時?
  • ???????srvtimeout?50000????????????????#服務器超時?
  • ???????timeout?check?2000??????????????#心跳檢測超時?
  • ?
  • ???????####################監控頁面的設置#######################?
  • listen?admin_status????????????????????#Frontend和Backend的組合體,監控組的名稱,按需自定義名稱?
  • ????????bind?0.0.0.0:65532?????????????#監聽端口?
  • ????????mode?http??????????????????????#http的7層模式?
  • ????????log?127.0.0.1?local3?err???????#錯誤日志記錄?
  • ????????stats?refresh?5s???????????????#每隔5秒自動刷新監控頁面?
  • ????????stats?uri?/admin?stats?????????#監控頁面的url?
  • ????????stats?realm?itnihao\?itnihao???#監控頁面的提示信息?
  • ????????stats?auth?admin:admin?????????#監控頁面的用戶和密碼admin,可以設置多個用戶名?
  • ????????stats?auth?admin1:admin1???????#監控頁面的用戶和密碼admin1?
  • ????????stats?hide-version?????????????#隱藏統計頁面上的HAproxy版本信息??
  • ????????stats?admin?if?TRUE????????????#手工啟用/禁用,后端服務器(haproxy-1.4.9以后版本)?
  • ?
  • ?
  • ???????errorfile?403?/etc/haproxy/errorfiles/403.http?
  • ???????errorfile?500?/etc/haproxy/errorfiles/500.http?
  • ???????errorfile?502?/etc/haproxy/errorfiles/502.http?
  • ???????errorfile?503?/etc/haproxy/errorfiles/503.http?
  • ???????errorfile?504?/etc/haproxy/errorfiles/504.http?
  • ?
  • ???????#################HAProxy的日志記錄內容設置###################?
  • ???????capture?request??header?Host???????????len?40?
  • ???????capture?request??header?Content-Length?len?10?
  • ???????capture?request??header?Referer????????len?200?
  • ???????capture?response?header?Server?????????len?40?
  • ???????capture?response?header?Content-Length?len?10?
  • ???????capture?response?header?Cache-Control??len?8?
  • ?????
  • ???????#######################網站監測listen配置#####################?
  • ???????###########此用法主要是監控haproxy后端服務器的監控狀態############?
  • listen?site_status?
  • ???????bind?0.0.0.0:1081????????????????????#監聽端口?
  • ???????mode?http????????????????????????????#http的7層模式?
  • ???????log?127.0.0.1?local3?err?????????????#[err?warning?info?debug]?
  • ???????monitor-uri?/site_status?????????????#網站健康檢測URL,用來檢測HAProxy管理的網站是否可以用,正常返回200,不正常返回503?
  • ???????acl?site_dead?nbsrv(server_web)?lt?2?#定義網站down時的策略當掛在負載均衡上的指定backend的中有效機器數小于1臺時返回true?
  • ???????acl?site_dead?nbsrv(server_blog)?lt?2?
  • ???????acl?site_dead?nbsrv(server_bbs)??lt?2??
  • ???????monitor?fail?if?site_dead????????????#當滿足策略的時候返回503,網上文檔說的是500,實際測試為503?
  • ???????monitor-net?192.168.16.2/32??????????#來自192.168.16.2的日志信息不會被記錄和轉發?
  • ???????monitor-net?192.168.16.3/32?
  • ?
  • ???????########frontend配置############?
  • ???????#####注意,frontend配置里面可以定義多個acl進行匹配操作########?
  • frontend?http_80_in?
  • ???????bind?0.0.0.0:80??????#監聽端口,即haproxy提供web服務的端口,和lvs的vip端口類似?
  • ???????mode?http????????????#http的7層模式?
  • ???????log?global???????????#應用全局的日志配置?
  • ???????option?httplog???????#啟用http的log?
  • ???????option?httpclose?????#每次請求完畢后主動關閉http通道,HA-Proxy不支持keep-alive模式?
  • ???????option?forwardfor????#如果后端服務器需要獲得客戶端的真實IP需要配置次參數,將可以從Http?Header中獲得客戶端IP?
  • ???????########acl策略配置#############?
  • ???????acl?itnihao_web?hdr_reg(host)?-i?^(www.itnihao.cn|ww1.itnihao.cn)$????
  • ???????#如果請求的域名滿足正則表達式中的2個域名返回true?-i是忽略大小寫?
  • ???????acl?itnihao_blog?hdr_dom(host)?-i?blog.itnihao.cn?
  • ???????#如果請求的域名滿足www.itnihao.cn返回true?-i是忽略大小寫?
  • ???????#acl?itnihao????hdr(host)?-i?itnihao.cn?
  • ???????#如果請求的域名滿足itnihao.cn返回true?-i是忽略大小寫?
  • ???????#acl?file_req?url_sub?-i??killall=?
  • ???????#在請求url中包含killall=,則此控制策略返回true,否則為false?
  • ???????#acl?dir_req?url_dir?-i?allow?
  • ???????#在請求url中存在allow作為部分地址路徑,則此控制策略返回true,否則返回false?
  • ???????#acl?missing_cl?hdr_cnt(Content-length)?eq?0?
  • ???????#當請求的header中Content-length等于0時返回true?
  • ?
  • ???????########acl策略匹配相應#############?
  • ???????#block?if?missing_cl?
  • ???????#當請求中header中Content-length等于0阻止請求返回403?
  • ???????#block?if?!file_req?||?dir_req?
  • ???????#block表示阻止請求,返回403錯誤,當前表示如果不滿足策略file_req,或者滿足策略dir_req,則阻止請求?
  • ???????use_backend??server_web??if?itnihao_web?
  • ???????#當滿足itnihao_web的策略時使用server_web的backend?
  • ???????use_backend??server_blog?if?itnihao_blog?
  • ???????#當滿足itnihao_blog的策略時使用server_blog的backend?
  • ???????#redirect?prefix?http://blog.itniaho.cn?code?301?if?itnihao?
  • ???????#當訪問itnihao.cn的時候,用http的301挑轉到http://192.168.16.3?
  • ???????default_backend?server_bbs?
  • ???????#以上都不滿足的時候使用默認server_bbs的backend?
  • ?
  • ?
  • ?
  • ?
  • ???????##########backend的設置##############?
  • #下面我將設置三組服務器 server_web,server_blog,server_bbs
  • ###########################backend?server_web#############################?
  • backend?server_web?
  • ???????mode?http????????????#http的7層模式?
  • ???????balance?roundrobin???#負載均衡的方式,roundrobin平均方式?
  • ???????cookie?SERVERID??????#允許插入serverid到cookie中,serverid后面可以定義?
  • ???????option?httpchk?GET?/index.html?#心跳檢測的文件?
  • ???????server?web1?192.168.16.2:80?cookie?web1?check?inter?1500?rise?3?fall?3?weight?1??
  • ???????#服務器定義,cookie?1表示serverid為web1,check?inter?1500是檢測心跳頻率rise?3是3次正確認為服務器可用,?
  • ???????#fall?3是3次失敗認為服務器不可用,weight代表權重?
  • ???????server?web2?192.168.16.3:80?cookie?web2?check?inter?1500?rise?3?fall?3?weight?2?
  • ???????#服務器定義,cookie?1表示serverid為web2,check?inter?1500是檢測心跳頻率rise?3是3次正確認為服務器可用,?
  • ???????#fall?3是3次失敗認為服務器不可用,weight代表權重?
  • ?
  • ###################################backend?server_blog###############################################?
  • backend?server_blog?
  • ???????mode?http????????????#http的7層模式?
  • ???????balance?roundrobin???#負載均衡的方式,roundrobin平均方式?
  • ???????cookie?SERVERID??????#允許插入serverid到cookie中,serverid后面可以定義?
  • ???????option?httpchk?GET?/index.html?#心跳檢測的文件?
  • ???????server?blog1?192.168.16.2:80?cookie?blog1?check?inter?1500?rise?3?fall?3?weight?1??
  • ???????#服務器定義,cookie?1表示serverid為web1,check?inter?1500是檢測心跳頻率rise?3是3次正確認為服務器可用,fall?3是3次失敗認為服務器不可用,weight代表權重?
  • ???????server?blog2?192.168.16.3:80?cookie?blog2?check?inter?1500?rise?3?fall?3?weight?2?
  • ????????#服務器定義,cookie?1表示serverid為web2,check?inter?1500是檢測心跳頻率rise?3是3次正確認為服務器可用,fall?3是3次失敗認為服務器不可用,weight代表權重?
  • ?
  • ###################################backend?server_bbs###############################################?
  • ?
  • backend?server_bbs?
  • ???????mode?http????????????#http的7層模式?
  • ???????balance?roundrobin???#負載均衡的方式,roundrobin平均方式?
  • ???????cookie?SERVERID??????#允許插入serverid到cookie中,serverid后面可以定義?
  • ???????option?httpchk?GET?/index.html?#心跳檢測的文件?
  • ???????server?bbs1?192.168.16.2:80?cookie?bbs1?check?inter?1500?rise?3?fall?3?weight?1??
  • ???????#服務器定義,cookie?1表示serverid為web1,check?inter?1500是檢測心跳頻率rise?3是3次正確認為服務器可用,fall?3是3次失敗認為服務器不可用,weight代表權重?
  • ???????server?bbs2?192.168.16.3:80?cookie?bbs2?check?inter?1500?rise?3?fall?3?weight?2?
  • ????????#服務器定義,cookie?1表示serverid為web2,check?inter?1500是檢測心跳頻率rise?3是3次正確認為服務器可用,fall?3是3次失敗認為服務器不可用,weight代表權重

轉載于:https://www.cnblogs.com/davidwang456/p/3407186.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的haproxy配置文件详解--转的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。