nginx 转发 tcp 后端获取客户端真实 IP

55次阅读

共计 642 个字符,预计需要花费 2 分钟才能阅读完成。

用的 nginx 代理 udpxy,

udpxy 显示的是 nginx 服务器的 IP 地址,

抓包发现 udpxy 是通过 TCP 链接 IP 来记录的客户端地址,

尝试用 nginx 的 TCP 代理,

在 /etc/nginx/nginx.conf 配置里面添加如下配置,

  1. stream {
  2.         server {
  3.                 listen 9999;
  4.                 proxy_pass 192.168.1.1:50000;
  5.                 proxy_protocol on;
  6.         }
  7. }

复制代码

但是 udpxy 显示的仍然是 nginx 服务器 IP 地址,请问还需要改哪里吗?

网友回复:

注册 可以的,安装 TOA 模块,会在 TCP options 字段写真实 IP,两端都装就行。有点像 4 层协议的 x -forwarded-for 概念

meta 被转机器也要配置 proxy protocol

HiHiHi proxy_protocol on; 这句话的作用是啥,不能直接修改 IP 头部字段吧,这样响应消息直接黑洞了吧

iks 两边都要配这个

js 攻城狮 蹲个大佬解答。我目前的认知 4 层 tcp 代理是不可以的拿到真实 ip 的

省港澳白嫖王 udpxy 支持 proxy_protocol 吗

QEMU nginx 不支持 udp

鹿小草 QAQ 貌似加入 set_real_ip_from 0.0.0.0/0; real_ip_header X-Forwarded-For; 就可以

gamekid 一般是加头部 proxy protocol 里面,后端也要支持解 proxy protocol

注册 学到了,有空试试看

正文完
 0