You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HAProxy配置send-proxy后SSH连接失败,后端OpenSSH如何启用代理协议?

问题:HAProxy配置send-proxy后SSH转发失败,无法获取客户端真实IP

问题详情

使用以下HAProxy配置实现SSH连接转发,目的是通过send-proxy让后端SSH服务器获取客户端真实IP,但添加该选项后连接无法到达后端,移除则正常连接。HAProxy版本为1.8,日志中终止码为SD,后端运行OpenSSH_7.4p1。

HAProxy配置:

global
log 127.0.0.1 local0
daemon
maxconn 2048 

defaults
log global
timeout connect 500000ms
timeout client 86400s
timeout server 86400s

listen stats
    bind :1936
    mode http
    stats enable
    stats realm Haproxy\ Statistics
    stats uri /

frontend front-ssh-servers
mode tcp
option tcplog
bind *:22
default_backend back-ssh-servers
timeout client 8h

backend back-ssh-servers
mode tcp
balance leastconn
stick-table type ip size 1m expire 8h
stick on src
server server1 X.X.X.X:22 check send-proxy
server server2 X.X.X.X:22 check send-proxy
server server3 X.X.X.X:22 backup send-proxy

相关日志:

2023-02-09T10:27:59-08:00 127.0.0.1 haproxy[3190902]: X.X.X.X:36730 [09/Feb/2023:10:27:59.175] front-ssh-servers back-ssh-servers/X.X.X.X 1/0/8 21 SD 2/1/0/0/0 0/0

原因分析

日志中的SD代表Server Disconnect,即后端SSH服务器主动断开连接。原因是HAProxy通过send-proxy发送了代理协议头,但后端OpenSSH默认未开启代理协议支持,无法识别该头部信息,因此拒绝连接。

解决方案

OpenSSH 6.7及以上版本支持代理协议,需修改后端SSH服务器的sshd_config配置,启用代理协议支持。为避免影响直接连接后端SSH的场景,建议配置双端口监听:

  1. 修改后端服务器的/etc/ssh/sshd_config:
# 保留原有正常SSH端口,不启用代理协议
ListenAddress 0.0.0.0:22
# 新增专门接收HAProxy转发的端口,启用代理协议
ListenAddress 0.0.0.0:2222
ProxyProtocol yes
  1. 修改HAProxy后端配置,将服务器端口改为新增的2222:
backend back-ssh-servers
mode tcp
balance leastconn
stick-table type ip size 1m expire 8h
stick on src
server server1 X.X.X.X:2222 check send-proxy
server server2 X.X.X.X:2222 check send-proxy
server server3 X.X.X.X:2222 backup send-proxy
  1. 重启后端SSH服务:
# CentOS/RHEL系统
systemctl restart sshd
# Ubuntu/Debian系统
service ssh restart
  1. 重启HAProxy使配置生效:
systemctl restart haproxy

这样配置后,HAProxy转发的连接会通过2222端口发送带代理协议头的请求,后端sshd能正确解析并获取客户端真实IP;直接连接后端22端口的请求不受影响。

内容的提问来源于stack exchange,提问作者Dipu H

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 07:05:23