frp 怎么向 nginx 传递真实 IP?

2019-12-06 23:32:52 +08:00
 millionart

官方说明只写了:

只需要在代理配置中增加一行 proxy_protocol_version = v2 即可开启此功能。

本地的 https 服务可以通过在 nginx 的配置中启用 Proxy Protocol 的解析并将结果设置在 X-Real-IP 这个 Header 中.就可以在自己的 Web 服务中通过 X-Real-IP 获取到用户的真实 IP。

试着在 nginx 里开启 proxy_protocol 后貌似运行没什么问题,但无论怎么配置都把外网 ip 识别成 127.0.0.1,可以识别内网 ip 但没啥用。

有谁配置成功过吗?

至于为啥不发 issue——看到那一大坨 issue 格式要求就头大。

3726 次点击
所在节点    宽带症候群
3 条回复
qwqVictor
2019-12-07 15:31:16 +08:00
listen 的时候加上 proxy_protocol,然后配置 real IP header 为 proxy_protocol。
例如:
listen [::]:8443 ssl http2 proxy_protocol;
real_ip_header proxy_protocol;
real_ip_recursive on;
set_real_ip_from 127.0.0.1;
millionart
2019-12-07 22:44:06 +08:00
@qwqVictor 并没有效果,仍然只识别成 127.0.0.1
qwqVictor
2020-01-11 13:36:35 +08:00
试试不用 frp 自带的 proxy_protocol 实现,只用 frp 进行裸的 TCP 代理,用 HAProxy 转发。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/626686

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX