Appearance
SFTP 代理配置
HAProxy 支持 SFTP 代理,可实现 SFTP 服务的负载均衡和访问控制。
基础 SFTP 代理配置
haproxy
global
maxconn 4096
frontend sftp_front
bind *:22
mode tcp
option tcplog
acl is_ssh payload(0,4) -m bin 5353482D
use_backend sftp_cluster if is_ssh
backend sftp_cluster
mode tcp
balance source
option tcpka
option tcp-check
tcp-check connect port 22
tcp-check send "SSH-2.0-HAPROXY_CHECK\r\n"
tcp-check expect string "SSH-"
server sftp1 10.0.0.11:22 maxconn 50 check inter 10s
server sftp2 10.0.0.12:22 maxconn 50 check inter 10s backup用户限制与配额
haproxy
stick-table type ip size 100k expire 1h store conn_rate(1m)
acl too_many_conns src_conn_rate(gt) 10
http-request deny if too_many_connsSFTP 与 SSH 分流
haproxy
acl is_sftp payload(0,50) -m bin subsystem-interfaces-sftp-session
use_backend sftp_backend if is_sftp
use_backend ssh_backend if !is_sftp故障排查
bash
echo "show sess" | socat /run/haproxy-admin.sock stdio
ssh -v -p 22 user@ha-proxy-host