在Haproxy中的代理的配置包括4个模块,defaults、listen、frontend、backend。
defaults:用于为所有其它配置段提供默认参数,listen、frontend、backend将使用defaults中的设置,如果想通的参数被重复设置,那么listen、frontend、backend的优先级高于defaults.
frontend:监听客户端的链接。
backend:代理的后端服务器。
listen:包括监听客户端和代理的后端服务器,是一个完整的代理的模块,通常使用在tcp的模式中。
default配置
default段用于为所有其他配置段提供默认参数:
选项参数
- httplog 用来记录日志 其通常包括但不限于HTTP请求 连接计时器 会话状态 连接数 捕获的首部及cookie frontend backend 等信息
- dontlognull 不记录健康检查的日志信息
- redispatch 当找不到cookie对应的服务器时,重新分配新的节点给客户端
- forwardfor 传递客户端真实IP
default 连接参数
1.1 queue
timeout queue 1m
当请求超过最大并发连接数,多余请求会进入队列,在队列内停留的时间 超过这个时间为超时
1.2 connect
timeout connect 10s
haproxy与后端服务器连接超时时间
1.3 client
timeout client 1m
定义客户端和服务端非活动连接的超时时间
1.4 server
timeout server 1m
定义haproxy和后端服务器非活动连接的超时时间
1.5 check
timeout check 10s
健康检测的时间的最大超时时间
1.6 http-request
timeout http-request 10s
客户端发送http请求的超时时间
1.7 http-keep-alive
timeout http-keep-alive 10s
http请求连接剑流的最大超时时间
1.8 maxconn
maxconn 3000
最大并发连接数(不可超过global)
1.9 mode
mode http
定义默认的请求是http 还是tcp