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

如何从带DDoS防护的服务器代理流量至源服务器并保留客户端IP?

如何从带DDoS防护的服务器代理流量至源服务器并保留客户端IP?

嘿,你的需求我太懂了——用带DDoS防护的Server B当流量入口,转发到没防护的Server A,还得让Server A能拿到真实的客户端IP,现在用NGINX TCP流总觉得麻烦,想找更简单高效的路子对吧?

我给你推荐两个比现有方案更清爽、性能也更优的选择:

1. 首选:用HAProxy做四层代理(最简洁高效)

HAProxy天生就是为代理场景设计的,做四层TCP代理的配置比NGINX简单太多,性能损耗也极低,完全适配你的需求。

具体配置示例(Server B上的HAProxy)

编辑HAProxy的主配置文件(一般是/etc/haproxy/haproxy.cfg),添加以下片段:

frontend public_ports
    bind *:80
    bind *:443
    mode tcp
    default_backend server_a

backend server_a
    mode tcp
    # 开启PROXY协议,把真实客户端IP传递给Server A
    server origin_server <Server_A_IP>:80 send-proxy
    server origin_server_ssl <Server_A_IP>:443 send-proxy

配套Server A的配置(以NGINX为例)

你需要让Server A的NGINX支持接收PROXY协议,这样才能拿到真实IP,修改NGINX的监听配置:

# 原来的listen 80;改成下面的
listen 80 proxy_protocol;
# 443同理
listen 443 ssl proxy_protocol;

# 然后可以在日志里记录真实IP,比如把log_format里的$remote_addr换成$proxy_protocol_addr
log_format main '$proxy_protocol_addr - $remote_user [$time_local] "$request" '
                '$status $body_bytes_sent "$http_referer" '
                '"$http_user_agent" "$http_x_forwarded_for"';

这样配置好之后,HAProxy会自动把客户端的真实IP通过PROXY协议传给Server A,Server A就能直接拿到,整个配置流程比你之前的复杂TCP流设置简单太多。

2. 简化版NGINX方案(如果不想换HAProxy)

其实你完全不用搞复杂的TCP流配置,NGINX的stream模块配合PROXY协议就能轻松搞定,配置比你现在的方案清爽很多。

Server B上的NGINX stream配置

在NGINX的配置里添加stream块:

stream {
    server {
        listen 80;
        proxy_pass <Server_A_IP>:80;
        # 开启PROXY协议传递真实IP
        proxy_protocol on;
    }

    server {
        listen 443;
        proxy_pass <Server_A_IP>:443;
        proxy_protocol on;
    }
}

同样需要Server A的NGINX支持PROXY协议

和上面HAProxy方案里的Server A配置一样,把listen指令加上proxy_protocol参数,日志也换成用$proxy_protocol_addr记录真实IP。

为什么这两个方案比你现在的好?

  • 配置更直观:没有复杂的TCP流转发逻辑,都是代理场景的原生配置,维护起来特别轻松
  • 性能损耗更低:HAProxy和优化后的NGINX stream都是专门为代理优化的,比自定义的复杂TCP流实现效率高很多
  • 可靠性更强:PROXY协议是行业标准的IP传递方式,比自己折腾的方案稳定

最后提醒一句:不管用哪个方案,都要确保Server B的DDoS防护规则已经正确配置,把80/443端口的正常流量放行,同时拦截恶意攻击流量哦。

备注:内容来源于stack exchange,提问作者Andrei

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 08:44:38