haproxy代理配置:

haproxy动态配置 haproxy 配置详解_配置文件

结果图:

haproxy动态配置 haproxy 配置详解_配置文件_02

haproxy代理配置2方式:

haproxy动态配置 haproxy 配置详解_配置文件_03

结果配置:

haproxy动态配置 haproxy 配置详解_客户端_04

Haproxy的配置文件由两部分组成:全局设定和对代理的设定,共分为五段:global、

Default、frontened、backend、listen

配置文件格式:

HAPROXY的配置处理3类来主要参数来源:

---最先处理的命令行参数

---“global”配置段,用于设定全局的参数配置

----proxy相关配置段,如default,listen,frontend和backend

全局配置:

***进程管理及安全相关的参数

-chroot:修改haproxy的工作目录至指定并在放弃权限之前执行chroot()操作,可以提升harpoyx的安全级别,需要注意的是确保指定的目录为空目录且任何用户均不能有写权限

-daemon:后台运行

-stats:用户访问统计数据的接口

-node:定义当前节点的名称,用于HA场景中多haproxy进程共享同一个IP地址时

-uid   -pid  -pidfile –user

***性能调整相关的参数

-maxconn:设定每个haproxy进程所接受的最大并发连接数

***DEBUG相关的参数

-debug

-quiet

***超时时长

-timeout http request:在客户端简历连接但不请求数据时,关闭客户端连接

-timeout queue:等待最大时长

-timeout connect:定义haproxy将客户端求情转发至后端服务器所等待的超时时长

-timeout client:客户端非活动状态的超时时长

-timeout server:客户端与服务器端建立连接后,等待服务器端的超时时长

-time http-keep-alive:定义保持连接的超时时长

-timeout check:健康状态检测时的超时时间,过短会误判,过长资源消耗

Maxconn:每个server最大连接数

***实现访问控制

http-request:7层过滤

tcp-request content:tcp层过滤,4层过滤

###代理

***“defaults”段用于为所有其它配置段提供默认参数,这配置默认配置参数可由下一个“defaults”所重新设定

***“frontend”段用于定义一系列监听的套接字,这些套接字可接受客户端请求并与之建立连接。

***“backend”段用于定义一系列“后端”服务器,代理将会将对应客户端的请求转发至这些服务器

***“listen”段通过关联“frontend”和“backend”定义了一个完整的代理,通常只对TCP流量有用。

所有代理的名称只能使用大写字母、小写字母、数字、-(中线)、_(下划线)、.(点号)和:(冒号)。此外,ACL名称会区分字母大小写

###配置文件中的关键参数

***balance:1、基于权重roundrobin 2、基于权重进行轮询叫static-rr3、基于长连接的会话leastconn

***bind:此指令仅能用于frontend和listen区段,用于定义一个或几个监听的套接字

***mode:设定实例的运行模式或协议{tcp|http|health}

***log:log global

为每个实例启用事件和流量日志,因此可用于所有区段。每个实例最多可以指定两个log参数,不过,如果使用了“log global”且”global”段已经定了两个log参数时,多余了log参数将被忽略

***stats enable 启用基于程序编程时默认设置的统计报告
***stats hide-version: 启用统计报告并隐藏HAProxy版本报告
***stats realm mysql-pxc:启用统计报告并高精认证领域
***stats auth 启用带认证的统计报告功能并授权一个用户帐号
***stats admin:在指定的条件满足时启用统计报告页面的管理级别功能,它允许通过web接口启用或禁用服务器,不过,基于安全的角度考虑,统计报告页面应该尽可能为只读的。此外,如果启用了HAProxy的多进程模式,启用此管理级别将有可能导致异常行为