millionart

frp 怎么向 nginx 传递真实 IP?

  •  1
     
  •   millionart · Dec 6, 2019 · 4637 views
    This topic created in 2375 days ago, the information mentioned may be changed or developed.

    官方说明只写了:

    只需要在代理配置中增加一行 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 格式要求就头大。

    3 replies    2020-01-11 13:36:35 +08:00
    qwqVictor
        1
    qwqVictor  
       Dec 7, 2019 via iPhone
    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
        2
    millionart  
    OP
       Dec 7, 2019
    @qwqVictor 并没有效果,仍然只识别成 127.0.0.1
    qwqVictor
        3
    qwqVictor  
       Jan 11, 2020 via iPhone
    试试不用 frp 自带的 proxy_protocol 实现,只用 frp 进行裸的 TCP 代理,用 HAProxy 转发。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5265 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 09:30 · PVG 17:30 · LAX 02:30 · JFK 05:30
    ♥ Do have faith in what you're doing.