本文作者:Spark(Ms08067内网安全小组成员)
Spark微信(欢迎骚扰交流):
1.概述
Haproxy是一个使用c语言开发的高性能负载均衡代理软件,提供tcp和http的应用程序代理,免费、快速且可靠。
类似frp,使用一个配置文件+一个server就可以运行。
优点:
大型业务领域应用广泛
支持四层代理(传输层)以及七层代理(应用层)
支持acl(访问控制列表),可灵活配置路由
windows使用cygwin编译后可运行(可跨平台)
访问控制列表(Access Control Lists,ACL)是应用在路由器接口的指令列表,这些指令列表用来告诉路由器哪些数据包可以接受,哪些数据包需要拒绝。
2.配置
官方配置手册:
https://cbonte.github.io/haproxy-dconv/2.2/configuration.html
配置文件由全局配置和代理配置组成:
全局配置(global):
-
定义haproxy进程管理安全及性能相关的参数
代理设定(proxies):
-
defaults
-
为其他配置段提供默认参数,默认配置参数可由下一个"defaults"重新设定
frontend
-
定义一系列监听的套接字,这些套接字可接受客户端请求并与之建立连接
backend
-
定义"后端"服务器,前端代理服务器将会把哭护短的请求调度至这些服务器
listen
-
定义监听的套接字和后端的服务器,类似于将frontend和backend段放在一起
示例:
global
defaults
log global
mode tcp
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000
frontend main
mode tcp
bind *:8888
option forwardfor except