簡體   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