HAproxy 配置参数详解
HAproxy 配置参数详解
/etc/haproxy/haproxy.cfg
# 配置文件
-------------------------------------------------------
# 全局配置
global # 设置日志文件输出定向
log 127.0.0.1 local3 info # 改变当前工作目录
chroot /usr/local/haproxy # 用户与用户组
user haproxy
group haproxy # 守护进程启动,运维方式为后台工作
daemon # 最大连接数
maxconn 4000 # 作用于其后紧跟的listen块,直至下一个defaults 块,下一个default 将替换上一个块作用于以后的listen
defaults # 启用每个实例日志记录事件和流量。
log global # 默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK
mode http # maxconn 65535 maxconn 每个进程可用的最大连接数
# retries 3 当对server的connection失败后,重试的次数
# option abortonclose 启用或禁用在队列中挂起的中止请求的早期丢弃
# option redispatch 启用或禁用在连接故障情况下的会话重新分配
# option dontlognull 启用和禁用 记录 空连接
# option httpclose 每次请求完毕后主动关闭http通道,HA-Proxy不支持keep-alive模式
# option forwardfor 获得客户端IP
# option httplog 记录HTTP 请求,session 状态和计时器
option httplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000 #前端配置,http_front名称可自定义
frontend http_front # bind *:443 ssl crt /etc/haproxy/cert.pem 启用ssl证书
# bind *:80 发起http请求道80端口,会被转发到设置的ip及端口
bind *:80 #haproxy的状态管理页面,通过/haproxy?stats来访问
stats uri /haproxy?stats
default_backend http_back #后端配置,http_back名称可自定义
backend http_back # 负载均衡方式
# source 根据请求源IP
# static-rr 根据权重
# leastconn 最少连接者先处理
# uri 根据请求的uri
# url_param 根据请求的url参数
# rdp-cookie 据据cookie(name)来锁定并哈希每一次请求
# hdr(name) 根据HTTP请求头来锁定每一次HTTP请求
# roundrobin 轮询方式
balance roundrobin #设置健康检查页面
option httpchk GET /index.html #传递客户端真实IP
option forwardfor header X-Forwarded-For # inter 2000 健康检查时间间隔2秒
# rise 3 检测多少次才认为是正常的
# fall 3 失败多少次才认为是不可用的
# weight 30 权重
# 需要转发的ip及端口
server node1 192.168.179.131:8081 check inter 2000 rise 3 fall 3 weight 30
server node2 192.168.179.131:8082 check inter 2000 rise 3 fall 3 weight 30 ------------------------------------------------------- # haproxy的acl规则
------------------------------------------------------- frontend http_front
bind *:80
stats uri /haproxy?stats #创建一个acl,is_http_back2是acl的名称,可自定义,用于判断主机名是否为www.back2.com
acl is_http_back2 hdr_end(host) www.back2.com #通过正则判断主机名中是否为bbs.back.com或forum.back.com
acl is_host_bbs hdr_reg(host) -i ^(bbs.back.com|forum.back.com) #判断ua是否为android
acl is_ua_android hdr_reg(User-Agent) -i android #判断主机名开头是否为img.或css.或js.
acl is_host_static hdr_beg(host) -i img. css. js. #判断url路径中是否有/bbs
acl is_path_bbs path_beg -i /bbs #判断url文件结尾
acl is_php path_end -i .php #通过正则判断url中结尾以
acl is_static_file url_reg -i /*.(css|jpg|png|jpeg|gif)$ #效果同上
acl is_static_file2 path_end -i .css .jpg .png .jpeg .gif #如果主机名是www.back2.com那么就使用后端http_back2
use_backend http_back2ifis_http_back2 #默认使用的后端
default_backend http_back backend http_back
balance roundrobin
option httpchk GET /index.html
option forwardfor header X-Forwarded-For
server node1 192.168.1.222:8080 check inter 2000 rise 3 fall 3 weight 30 backend http_back2
balance roundrobin
option httpchk GET /index.html
option forwardfor header X-Forwarded-For
server node2 192.168.1.222:8082 check inter 2000 rise 3 fall 3 weight 30 -------------------------------------------------------
HAproxy 配置参数详解的更多相关文章
- 2、haproxy配置参数详解
代理相关配置参数 内容参考自马哥教育 HAProxy官方文档 https://cbonte.github.io/haproxy-dconv/2.0/configuration.html URI Syn ...
- mha配置参数详解
mha配置参数详解: 参数名字 是否必须 参数作用域 默认值 示例 hostname Yes Local Only - hostname=mysql_server1, hostname=192.168 ...
- reids配置参数详解
转自:http://www.jb51.net/article/60627.htm reids配置参数详解 #daemonize no 默认情况下, redis 不是在后台运行的,如果需要在后台运行, ...
- nginx配置参数详解
配置参数详解 user nginx nginx ; Nginx用户及组:用户 组.window下不指定 worker_processes 8; 工作进程:数目.根据硬件调整,通常等于CPU数量或者2倍 ...
- Redis配置参数详解
Redis配置参数详解 /********************************* GENERAL *********************************/ // 是否作为守护进 ...
- MHA配置参数详解 【转】
mha配置参数详解: 参数名字 是否必须 参数作用域 默认值 示例 hostname Yes Local Only - hostname=mysql_server1, hostname=192.168 ...
- zookeeper的配置参数详解(zoo.cfg)
配置参数详解(主要是%ZOOKEEPER_HOME%/conf/zoo.cfg文件) 参数名 说明 clientPort 客户端连接server的端口,即对外服务端口,一般设置为2181吧. data ...
- samba 配置参数详解
samba 配置参数详解: 一.全局配置参数 workgroup = WORKGROUP说明:设定 Samba Server 所要加入的工作组或者域. server string = Samba S ...
- [转帖]持久化journalctl日志清空命令查看配置参数详解
持久化journalctl日志清空命令查看配置参数详解 最近 linux上面部署服务 习惯使用systemd 进行处理 这样最大的好处能够 使用journalctl 进行查看日志信息. 今天清理了下 ...
随机推荐
- python 爬虫4 cookies
Cookie,指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密) 比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的.那么 ...
- Unix OpenCV安装
官方下载:https://sourceforge.net/projects/opencvlibrary/files/ 最好下载2.4.13版本,不然可能会有很多奇奇怪怪的问题 解压后: mkdir ...
- Eclipse调试部分手机不显示日志问题解决
在拨号键盘输入一串指令,然后会进入到工程模式,最后可以在Log设置里面设置了. 华为:*#*#2846579#*#* 酷派:*20121220#
- php中变量引用&不可与global共同使用
问题来源,新公司debug. 程序中代码大致如下 class Ci { private static $instance = NULL; public $name = 'hello'; public ...
- iOS 关于自定义UICollectionViewLayout实现复杂布局
UICollectionView的简单介绍 UICollectionView的结构 Cells Supplementary Views 追加视图 (类似Header或者Footer) Decorati ...
- Delphi线程的初级应用
viewRadio_th线程函数在form外生命全局变量.函数内相应的局部变量可以接收全局变量的赋值进行操作.query等可以自行创建进行查询.这样结果不会改变. //下面是后台发送字幕的线程函数应用 ...
- SQLServer与ASP中DATEDIFF函数区别
一.SQLServer: 格式: DATEDIFF(interval,startdate,enddate) interval参数: 年-yy,yyyy 季度-qq,q 月-mm,m 年中的日-dy,y ...
- POCO c++ 使用例子
.定时器 #include "Poco/Timer.h" #include "Poco/Thread.h" using Poco::Timer; using P ...
- 关于python代码是编译执行还是解释执行
Python 是编译型语言还是解释型语言?回答这个问题前,应该先弄清楚什么是编译型语言,什么是解释型语言. 所谓编译执行就是源代码经过编译器编译处理,生成目标机器码,就是机器能直接运行的二进制代码,下 ...
- Android系统移植与调试之------->如何修改开机动画的两种方式剖析
首先,我们先来分析一下源码: frameworks/base/cmds/bootanimation/BootAnimation.cpp 首先看一下定义的常量: BootAnimation::ready ...