|
--------------------------------------------------------------------global
log 127.0.0.1 local2#定义日志级别和监听地址,需要在/etc/sysconfig/syslog 中定义local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid#指定haproxy进程pid文件,该值为系统默认
maxconn 40000#设定每个haproxy进程所接受的最大并发连接数,所有后端服务器并发连接不能超过该值
user haproxy#定义运行haproxy的用户和组
group haproxy
daemon#指定haproxy在后台中运行,和 -D命令结果一样
# turn on stats unix socket
stats socket /var/lib/haproxy/stats#定义socket文件位置,系统默认值,建议不修改
#---------------------------------------------------------------------
# common defaults that all the 'listen' and 'backend' sections will
# use if not designated in their block
#---------------------------------------------------------------------
defaults
mode http#为所有实例提供默认模式配置,即http,后面的每个可以利可以自己在单独定义模式
log global#指定实例默认的日志文件,此例使用global短定义的log配置
option httplog#启动http的请求日志,以及会话状态和时间
option forwardfor except 127.0.0.0/8#记录发起请求的客户端IP地址,默认请求的ip都是代理服务器
option dontlognull#保证HAProxy不记录上级负载均衡发送过来的用于检测状态没有数据的心跳包
option redispatch#当一个服务器故障,重新分派到其他服务器上
option contstats#允许连续的流量统计更新
retries 3#设置一个服务器如果连不上默认的重试次数,可以在每个实例中自定义
timeout http-request 10s#等待一个http请求完成的最大时间,主要保证服务器能够提供正常访问的连接会话
#防止一个完成连接的请求后就不再进行会话,形成占用连接的情形
timeout queue 30s#设置当一个请求被放入队列中,等待队列的最大时间,
timeout connect 4000#成功请求一个服务器的最大时间,
timeout client 30s#客户端非活动状态的超时时长,也可以放到前端单独定义
timeout server 1m#服务端设置最大非活动时间,也可以放到后端单独定义
timeout http-keep-alive 10s#长连接的超时时间,等待一个新的http请求的最大时间
#---------------------------------------------------------------------
# Exchange_OWA frontend which proxys to the backend
#---------------------------------------------------------------------
frontend CAS-OWA#定义ExchangeOWA前端实例
bind 172.16.10.100:443#绑定监听地址和端口
modetcp#haproxy中https的请求都是用tcp模式,而不是http
maxconn20000#访问前端haproxy服务器的最大并发连接,次数量不能超过global中定义的maxconn
timeout client 86400000#设定客户端超时时间,用于客户端始终可以连着OWA服务器
default_backend CAS#指定默认的后端
#---------------------------------------------------------------------
# Exchange_OWA backend for web access
#---------------------------------------------------------------------
backend CAS#定义之前OWA所指定的后端服务器
balance leastconn#采用最小连接算法,一般长连接应用此种算法,邮件服务属于长连接应用
modetcp#指定模式为tcp,一定与前端模式保持一致
optionabortonclose#丢弃由于客户端等待时间过长而关闭连接但仍在haproxy等待队列中的请求
timeout server 86400000#是后端服务器的连接用于不超时,这样owa页面在白天办公的时间内就不会超时关闭
stick on src #先根据事先定义的调度算法进行调度,然后根据源IP地址开启粘连功能,
#来自同一个ip的客户端始终访问同一个后端服务器,有助于保持会话持续
stick-table type ip size 200k expire 30m#d设置粘连表,存储类型是ip地址,大小200k,此表在30分钟后过期,stack on 和stack-type同时使用
server cas01 172.16.10.101:443 check inter 5000 rise 2 fall 5#定义后端真实服务器,启动健康检查,设定健康检查时间间隔为5000ms
#恢复正常需要检查2次,检查5次才确认失败
server cas02 172.16.10.102:443 check inter 5000 rise 2 fall 5
#---------------------------------------------------------------------
# Exchange_135 in CAS Server For Outlook
#---------------------------------------------------------------------
frontend CAS_135#定义outlook启动使用的135端口
bind172.16.10.100:135
modetcp#指定模式为tcp
maxconn20000#访问前端haproxy服务器的最大并发连接
timeout client 1m#客户端超时为1分钟
default_backend EX_135#定义后端真实服务器
#-------------------135_Backend------------------------------------
backend EX_135
balance leastconn#use lang connection method
modetcp#与前端模式保持一直
optionabortonclose
option redispatch
timeout server 1m
stick on src
stick-table type ip size 200k expire 30m#define a stick-table,200k,store the src ip,in the 240 miniutes
server cas01 172.16.10.101:135 check inter 5000 rise 2 fall 5
server cas02 172.16.10.102:135 check inter 5000 rise 2 fall 5
#---------------------------------------------------------------------
# Exchange_PRC in CAS Server For Outlook
#---------------------------------------------------------------------
frontend CAS_RPC#定义outlook使用的ExchangePRC端口
bind172.16.10.100:55000
modetcp
maxconn20000
timeout client 86400000
default_backend PRC#use default backend
#-------------------PRC_Backend------------------------------------
backend PRC
balance leastconn#use lang connection method
modetcp#mod same whith frontend
optionabortonclose
option redispatch
timeout server 86400000
stick match src table EX_135 #调用之前EX_135上已经定义的地址粘连列表
server cas01 172.16.10.101:55000 check inter 5000 rise 2 fall 5
server cas02 172.16.10.102:55000 check inter 5000 rise 2 fall 5
#---------------------------------------------------------------------
# Exchange_addressbook in CAS Server For Outlook
#---------------------------------------------------------------------
frontend CAS_addressbook#定义outlook使用的通讯簿端口
bind172.16.10.100:55001
modetcp
maxconn20000#frontend max connection
timeout client 86400000
default_backend Addressbook#use default backend
#-------------------addressbook_Backend------------------------------------
backend Addressbook
balance leastconn#use lang connection method
modetcp#mod same whith frontend
optionabortonclose
option redispatch
timeout server 86400000
stick match src table EX_135 #调用之前EX_135上已经定义的地址粘连列表
server cas01 172.16.10.101:55001 check inter 5000 rise 2 fall 5
server cas02 172.16.10.102:55001 checkinter 5000 rise 2 fall 5
#----------------------------------------------------------------------------
#HAproxy admin console
#----------------------------------------------------------------------------
listenSTAT#定义listen项,主要用于haproxy的web页面状态监控和管理
bind:8090#定义监听端口
statsenable#开启统计状态
stats authadmin:admin #设置web页面认证用户为admin,密码为:admin
statshide-version#在web页面隐藏haproxy当前版本信息
stats uri/haadmin?stats#定义状态页面的uri
stats admin if TRUE#开启认证功能,如果认证成功则登录 |
|
|
|
|
|
|