Haproxy--配置解析
廢話不多說,上乾貨
<pre># this config needs haproxy-1.1.28 or haproxy-1.2.1
global
log 127.0.0.1 local0 [level] # 全域性的日誌配置,使用log關鍵字,指定使用127.0.0.1上的syslog服務中的local0日誌裝置,記錄日誌等級為LEVEL的日誌
maxconn 100000
uid 501
gid 501
daemon
quiet #slient模式,啟動時無輸出
nbproc 1 #指定啟動的haproxy程式個數,只能用於守護程式模式的haproxy;預設為止啟動一個程式,鑑於除錯困難等多方面的原因,一般只在程式僅能開啟少數檔案描述符的場中中才使用多程式模式
pidfile /usr/local/haproxy/haproxy.pid
stats socket /tmp/haproxy.sock #開啟 stats unix socket
defaults
log global
mode http # mode語法:mode {http|tcp|health} 。http是七層模式,tcp是四層模式,health是健康檢測
option httplog #啟用日誌記錄HTTP請求,預設haproxy日誌記錄是不記錄HTTP請求的
option httpclose #每次請求完畢後主動關閉http通道
option dontlognull #啟用該項,日誌中將不會記錄空連線。所謂空連線就是在上游的負載均衡器或者監控系統為了探測該服務是否存活可用時,需要定期的連線或者獲取某一固定的元件或頁面,或者探測掃描埠是否在監聽或開放等動作被稱為空連線;官方文件中標註,如果上游沒有載均衡器的話,建議不要使用該引數,因為網際網路上的惡意掃描或其他動作就不會被記錄下來
option forwardfor header X-Real-Ip # header後的引數由後端的伺服器決定 nginx的為x-real-ip
balance roundrobin
option dontlog-normal #開啟正常連線的日誌
option redispatch #當使用了cookie時,haproxy將會將其請求的後端伺服器的serverID插入到cookie中,以保證會話的SESSION永續性;而此時,如果後端的伺服器宕掉了,但是客戶端的cookie是不會重新整理的,如果設定此引數,將會將客戶的請求強制定向到另外一個後端server上,以保證服務的正常
retries 1
timeout http-keep-alive 30s
maxconn 100000
contimeout 10000
clitimeout 50000 #設定連線客戶端傳送資料時的成功連線最長等待時間,預設單位是毫秒
srvtimeout 50000 #設定伺服器端迴應客戶度資料傳送的最長等待時間,預設單位是毫秒
stats uri /status
stats auth xiaofan:123
frontend web_in
mode http
maxconn 80000
bind *:80
bind :::80
acl is_javamc url_reg -i (/app/notification/latest\?|/client/mc/) #url_reg 正則匹配 #-i 忽略大小寫
acl is_odc_web url_reg -i \/api\/trace\/
acl is_in hdr_beg(host) -i qa.in66.com #匹配客戶端請求的域名
use_backend javamc_server if is_javamc
use_backend doc_web_server if is_odc_web
default_backend in_server
backend m_server
mode tcp
contimeout 500000
srvtimeout 600000
option tcplog
balance roundrobin
stick-table type ip size 2000k expire 30m
stick on src
server server-123 127.0.0.1:9530
backend mc_server
mode http
balance roundrobin
option http-server-close
#option httpchk GET /ip.php
cookie JSESSIONID prefix
server web-107 127.0.0.1:8081 check inter 50000 fall 2 rise 5
backend story_web_server
mode http
balance roundrobin
option http-server-close
#option httpchk GET /ip.php
cookie JSESSIONID prefix #如果客戶端只支援一個cookie,並且伺服器上的應用程式已經對返回設定了cookie,HAProxy設定此選項可以改寫應用程式設定的cookie資訊,把伺服器的資訊新增到原cookie中去。
server web-107 127.0.0.1:8191 check inter 50000 fall 2 rise 6
backend ncapi_server
mode http
balance roundrobin
option http-server-close
option httpchk GET /check.jsp HTTP/1.1\r\nHost:\ in.itugo.com
server java-61 127.0.0.1:8084 check inter 50000 fall 2 rise 5</pre>
p
相關文章
- MyBatis 配置解析MyBatis
- Mybatis配置解析MyBatis
- DataX -- 配置解析
- Nginx(六):配置解析之location解析Nginx
- Nginx全配置解析Nginx
- PHPFPM全配置解析PHP
- Viper解析&載入配置
- NoSQL之Redis配置解析SQLRedis
- Redis優化配置解析Redis優化
- Nginx配置檔案解析Nginx
- redis配置檔案解析Redis
- oracle EM配置命令解析Oracle
- 深入Mybatis原始碼——配置解析MyBatis原始碼
- Hystrix 配置引數全解析
- Mybatis深入解析之日誌配置MyBatis
- java解析yaml配置檔案JavaYAML
- Mybatis:CRUD操作及配置解析MyBatis
- DHCP常用配置檔案解析
- Nginx配置檔案示例解析Nginx
- nginx 配置解析(11)——mergeNginx
- JAVA TOMCAT域名解析配置JavaTomcat
- [Vue CLI 3] 配置解析之 parallelVueParallel
- 配置多檢視解析器
- 文盤Rust -- 配置檔案解析Rust
- Sphinx 配置sql_query_killlist解析SQL
- Hibernate的配置檔案解析
- android下解析.plist配置檔案的xml解析器AndroidXML
- 史上最清晰易懂的babel配置解析Babel
- DNS域名解析服務及其配置DNS
- nacos統一配置中心原始碼解析原始碼
- Nginx Rewrite實際應用配置解析Nginx
- Tomcat部署解析及配置優化Tomcat優化
- Benchmarksql的props配置檔案解析SQL
- 11g rac監聽配置解析
- 原始碼解析Flask的配置檔案原始碼Flask
- PHP簡介及配置檔案解析PHP
- Viper:強大的Go配置解析庫Go
- Spring Boot 外部化配置實戰解析Spring Boot