HAProxy SFTP代理 一、引言前面我们有讲过如何使用Nginx作SFTP服务器的代理详见【Nginx SFTP代理】。其实除了使用Nginx之外还可以通过HAProxy作为SFTP代理用至于SFTP概念这里不作过多介绍各位读者自行百度比我个人陈述要更好这里只做高质量的操作讲解。IP角色描述192.168.1.102HAProxy代理服务192.168.1.154SFTP服务器192.168.1.196客户端二、详解1、HAProxy部署我们使用容器化来部署HAProxy服务因为这种部署方式便于管理与主机隔离。# 创建安装目录mkdir-p/opt/software/haproxy# 创建docker-compose.ymlcd/opt/software/haproxyvimdocker-compose.yml# 内容如下直接复制粘贴即可无需修改---services:haproxy:image:haproxy:3.4.0container_name:haproxyuser:99:99restart:unless-stoppednetwork_mode:hostvolumes:-./haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro-/etc/localtime:/etc/localtime:roenvironment:TZ:Asia/Shanghai...2、准备挂载所需的文件# 创建配置文件代理sftpcd/opt/software/haproxyvimhaproxy.cfg# 内容如下根据实际IP修改即可global log stdout format raw local0 maxconn 4096 # 全局最大并发连接数 daemon # 后台运行模式 defaults log global # 继承日志配置 mode tcp # 使用TCP代理 option tcplog # 记录TCP详细日志 timeout connect 10s timeout client 1h timeout server 1h # 前端虚拟节点 frontend sftp_front bind *:1999 # 前端监听 mode tcp default_backend sftp_back # 转发到后端 sftp_back # 后端虚拟节点 backend sftp_back mode tcp # 后端采用TCP协议 server sftp1 192.168.1.154:2022 check # 实际的后端SFTP服务器 listen stats bind *:8004 mode http # 监控页面用 HTTP 模式 stats enable # 开启监控功能 stats uri /stats # 监控页面 URL访问路径 stats refresh 10s stats auth admin:admin123 # 监控页面登录账号密码3、启动HAProxy服务# 授权chown-R99:99 /opt/software/haproxy# 准备镜像文件略# 启动HAProxycd/opt/software/haproxydocker-composeup-d4、客户端验证连接# 格式sftp-P[HAProxy前端监听端口]user[HAProxy服务器]sftp-P1999common192.168.1.102# 访问监控页面http://192.168.1.102:8004/stats