Получить реальный IP-адрес от слушателя с прокси-сервером nginx

Я пытаюсь сделать прокси-радио Icecast / Shoutcast с помощью nginx и получить реальный 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-адрес сервера?

Спасибо.


person IceDarkness    schedule 04.04.2020    source источник


Ответы (1)


Единственный сервер, который поддерживает заголовок «X-Forwarded-For», — это Icecast-kh.

Переключитесь на Icecast-kh, оставьте конфиг Nginx как есть и не забудьте добавить

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

к вашей конфигурации Icecast-kh.

person Alex Paramonov    schedule 04.04.2020
comment
А еще лучше просто отказаться от Nginx. - person Brad; 04.04.2020
comment
Ищу решение той же проблемы. Со своей стороны, я прохожу через Traefik, это примерно то же самое, что и Nginx, который я тестировал ранее. Конфигурация <x-forwarded-for> отсутствует в базовом файле icecast.xml пакета Icecast-KH. где ты нашел эту информацию? - person w3spi; 06.04.2020
comment
ЭТО решение, которое я искал с 10 дней! Мои поздравления и тысяча благодарностей! Это работает очень хорошо issues/195 - person w3spi; 06.04.2020