繁体   English   中英

使用 nginx 代理从侦听器获取真正的 ip

[英]Get real ip from listener with nginx proxy

我尝试使用 nginx 制作代理 icecast/shoutcast 收音机,并从听众那里获得真正的 ip。

如果我把本地主机 ip

location /exampleradio/ {
    proxy_buffering           off;
    proxy_ignore_client_abort off;
    proxy_intercept_errors    on;
    proxy_next_upstream       error timeout invalid_header;
    proxy_redirect            off;
    proxy_connect_timeout     60;
    proxy_send_timeout        21600;
    proxy_read_timeout        21600;

    proxy_set_header Host 127.0.0.1:8000;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $remote_addr;

    proxy_pass http://127.0.0.1:8000;
}

监听器 ip 它显示正确,

当我从另一个服务器示例中放置另一个收音机时:

location /exampleradio1/ {
    proxy_buffering           off;
    proxy_ignore_client_abort off;
    proxy_intercept_errors    on;
    proxy_next_upstream       error timeout invalid_header;
    proxy_redirect            off;
    proxy_connect_timeout     60;
    proxy_send_timeout        21600;
    proxy_read_timeout        21600;

    proxy_set_header Host cast.example.com:8000;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $remote_addr;

    proxy_pass http://cast.example.com:8000;
}

另一台服务器上的监听器 ip 它显示服务器 ip并且没有监听器 ip 我该如何解决这个问题并获得监听器 ip 而没有服务器 ip?

谢谢。

唯一支持“X-Forwarded-For”header 的服务器是 Icecast-kh。

切换到 Icecast-kh,保持 Nginx 配置不变,不要忘记添加

<x-forwarded-for>_PROXY IP HERE_</x-forwarded-for>

到你的 Icecast-kh 配置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM