haproxy常用配置项详解

HAProxy简介

HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。

GitHub、Bitbucket、Stack Overflow、Reddit、Tumblr、Twitter和 Tuenti在内的知名网站,及亚马逊网络服务系统都使用了HAProxy。

安装HAProxy (debian11为例)

curl https://haproxy.debian.net/bernat.debian.org.gpg \
| gpg --dearmor > /usr/share/keyrings/haproxy.debian.net.gpg
echo deb "[signed-by=/usr/share/keyrings/haproxy.debian.net.gpg]" \
http://haproxy.debian.net buster-backports-2.4 main \
> /etc/apt/sources.list.d/haproxy.list

apt-get update && apt-get install haproxy=2.4.\* -y && systemctl enable haproxy && cd /etc/haproxy && systemctl status haproxy

常用配置项解释

haproxy 的配置文件由两部分组成:全局设定和对代理的设定,共分为五段:global,defaults,frontend,backend,listen。

一个典型的配置内容如下:

global
    maxconn 204800
    daemon
    hard-stop-after 30s
defaults
    mode    tcp
    no log
    timeout connect 5s
    timeout client  50s
    timeout server  50s
    default-server init-addr none resolvers dns check inter 5000
listen status
    bind :2000
    mode http
    stats uri /
    stats enable # 启用状态统计报告
    stats auth admin:admin # 设置统计页面用户名和密码设置
    #stats refresh 30s # 统计页面自动刷新时间
    stats admin if TRUE #如果认证通过就做管理功能,可以管理后端的服务器
    stats realm “LOGIN” #登陆页面提示信息
resolvers dns
    nameserver dns 223.5.5.5:53
    parse-resolv-conf
listen TEST1
bind :13306
mode tcp
no log
balance source
option allbackups
server mysql1 192.168.0.102:3306
server mysql2 192.168.0.103:3306 backup

其他配置项

# 指定出口IP(适合多网卡多IP机器)
default-server init-addr none resolvers dns check inter 5000 source 192.168.0.111  # 指定出口网卡IP地址
#

莫问

我还没有学会写个人说明!

暂无评论

发表评论

您的电子邮件地址不会被公开,必填项已用*标注。

相关推荐

mac复制粘贴出现0~ xxx 1~ 解决办法

最近,mac不知道怎么回事,复制内容后粘贴的时候总是前面自动加上 0~, 后面自动加上 1~ 比如我复制 xxx ,粘贴之后就变成了。0~xxx1~ 很烦人. 解决方案:  打开 mac 终端, 执行下面命令即可; printf "\e[?2004l" 有 ...

用iptables屏蔽端口

用iptables屏蔽端口25,防止被利用发垃圾邮件导致VPS被封。 1 查看已添加的iptables规则 iptables -L -n -v 2 用iptables屏蔽全部IP连接25端口 iptables -I FORWARD -p tcp --dport 25 -j DROP iptables -I FORW ...

网站服务器DDNS教程-shell脚本

直接上sh脚本,内容如下: [cc lang="bash"] #!/bin/bash # 修改这个部分 auth_email="abc@abc.xyz" ###登录邮箱 auth_key="abcxyzxxxxxxxxxxxxxxxxxxzzzz" # 在cloudflare账号设置下面找到 zone_name="abc.xyz" # ...