
1 rrfeng 2022-11-12 16:42:13 +08:00 via Android listen 后面加 proxy_protocol 这个 on 改成 off 。 |
2 cpstar 2022-11-12 16:44:23 +08:00 你这个带 IP 的需求,基本上就,额,需要看协议。 HTTP 可以带 X-FORWARDED-FOR 塞进 HEADER 里告诉服务器客户的 IP ,但是确实无法修改 IP 包里的源 IP 实现服务器的 IP 认证。同样的,如果 RDP 协议只认 TCP 包里的源 IP 。 然后如果 Proxy_Protocol on 的时候,RDP 服务器拒绝了链接,那只能说,RDP 不支持这个插帧。 https://www.jianshu.com/p/cc8d592582c9 |
3 ZeroClover 2022-11-12 16:44:36 +08:00 RDP 服务端应该不支持 PROXY Protocol ,做 IP Transparent 吧 |
4 1260475686 2022-11-12 16:45:17 +08:00 nginx 四层开了 proxy_protocol 那后端肯定也得支持对 proxy_protocol 的接入呀 |
5 ihciah 2022-11-12 17:37:38 +08:00 via iPhone 转发常见的有 4 层和 7 层,7 层可以用 http 头携带原始请求者 ip ,4 层不太容易,可以用 SO_ORIGINAL_DST 。不过无论是哪种,都需要转发目标服务手动感知原始 ip 。 你这个需求其实是三层转发,只有类似 iptables 这种面向 ip 包的手段能搞,一般都是内核态搞,ng 这种不可能的。 iptables 直接配一个 SNAT+DNAT 应该就 ok 。 |
6 beyondgamp 2022-11-12 19:54:52 +08:00 via iPhone nginix 功能很强 但要搞明白还得自己花时间 |
7 Tianao 2022-11-12 20:01:09 +08:00 TCP Option Address (TOA) 了解一下? |
8 salmon5 2022-11-12 21:56:01 +08:00 |
9 salmon5 2022-11-12 21:58:19 +08:00 TOA 还是算了,几乎已经没价值了。 |
10 salmon5 2022-11-12 22:04:49 +08:00 |
11 cus 2022-11-12 22:58:31 +08:00 开启代理协议后需要后端服务支持代理协议。 > The Proxy Protocol works by adding a header that contains the client’s IP address to the beginning of a TCP connection. https://www.haproxy.com/blog/use-the-proxy-protocol-to-preserve-a-clients-ip-address https://docs.nginx.com/nginx/admin-guide/load-balancer/using-proxy-protocol |
12 bugfan 2022-11-12 23:06:44 +08:00 |
13 bugfan 2022-11-12 23:06:59 +08:00 vpc -> vnc |
16 loovezsh 2022-11-15 10:23:43 +08:00 要 Windows 获取到真实 IP ,那需要 Windows 那边对 proxy_protocol 支持才行。因为 proxy_protocol 会进行特殊封包的。这是 proxy_protocol 的文档: https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt?spm=a2c4g.11186623.0.0.618564e8nKffLD&file=proxy-protocol.txt |