haproxy代理配置:
结果图:
haproxy代理配置2方式:
结果配置:
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参数将被忽略