当前位置: 首页>前端>正文

haproxy 配置要求 haproxy 配置文件

HAProxy 配置由五个非必选组件组成:

  • global
    通常和操作系统相关。
  • defaults
    配置默认参数,这些参数可以被利用到 frontend、backend、listen 组件。若 frontend、backend 和 listen 重新配置 defaults 中的参数,那么前者会使用重新配置的新值。
  • frontend
    接收请求的前端虚拟节点,frontend 可以根据规则直接指定具体使用后端的backend(可动态选择)。
  • backend
    后端服务集群的配置,是真实的服务器,一个 Backend 对应一个或者多个实体服务器。
  • listen
    Frontend 和 Backend 的组合体。

HAProxy 主要配置:

global	# 全局配置
	log		127.0.0.1   local0		# 日志输出配置,所有日志都记录在本机,通过 local 0输出
	chroot	/usr/local/haproxy		# 改变当前工作目录
	uid		99						#所属运行的用户uid
	gid		99						#所属运行的用户组
	pidfile	/usr/haproxy.pid		#pid文件位置
	
	maxconn	4096					# 最大连接数
	daemon							# 以后台形式运行ha-proxy
	nbproc	3						# 启动3个 ha-proxy 实例

defaults	# 默认配置
	log		global
	log		127.0.0.1	local3		# 日志文件的输出定向
	option  httplog					# 日志类别,采用httplog
	
	option  httpclose				# 每次请求完毕后主动关闭http通道,ha-proxy不支持keep-alive,只能模拟这种模式的实现
	 option  dontlognull			# 保证 HAProxy 不记录上级负载均衡发送过来的用于检测状态没有数据的心跳包
	option  forwardfor				# 如果后端服务器需要获得客户端真实 ip 需要配置的参数,可以从 Http Header 中获得客户端 ip
	option	redispatch				# 是否允许重新分配在session 失败后
	retries 2						# 2次连接失败就认为服务器不可用,主要通过后面的 check 检查          
	maxconn 2000					# 最大连接数
	balance roundrobin				# 负载均衡算法
	stats	uri	/haproxy-stats		# HAProxy 监控页面的访问地址,可通过http://ip/haproxy-stats访问
	contimeout	5000				# 连接超时时间       
	clitimeout	50000				# 客户端连接超时时间
	srvtimeout	50000				# 服务器端连接超时时间

listen  proxy_web
	mode http
	option forwardfor
	balance roundrobin
	
	cookie ServerID prefix
	cookie JSESSIONID prefix
	capture request header Cookie len 200
	capture request header X-Forwarded-For len 15
	capture request header Host len 15
	capture request header Referrer len 15
	appsession JSESSIONID len 52 timeout 1080000

	bind :16002
	#option forwardfor except 192.168.0.159	
	
	option httpchk GET /ok.jsp HTTP/1.0		# 用于健康检测的后端页面
	server app_1 192.168.0.243:8080 cookie app1 minconn 100 maxconn 40960 check inter 5000 rise 2 fall 5 weight 2
	server app_2 192.168.0.242:8080 cookie app2 minconn 100 maxconn 40960 check inter 2000 rise 2 fall 5 weight 2
	server app_4 192.168.0.245:8080 cookie app2 minconn 100 maxconn 40960 check inter 2000 rise 2 fall 5 weight 1
     
	stats enable
	stats uri /haproxy-stat
	stats realm "test_123 monitor"
	stats auth admin:admin

HAProxy 支持两种主要的代理模式:



另外,Haproxy 也可用于 MySQL 数据库(读操作)的负载均衡。

同一客户端访问服务器,Haproxy 保持回话的三种方案:






https://www.xamrdz.com/web/2xw1937792.html

相关文章: