Intento hacer una radio proxy icecast/shoutcast con nginx y obtener una IP real del oyente.
Si pongo ip de localhost
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; }la ip del oyente se muestra correctamente,
Cuando pongo otra radio de otro servidor ejemplo:
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; }la ip del oyente en otro servidor muestra la ip del servidor y no la ip del oyente . ¿Cómo puedo resolver esto y obtener la IP del oyente y no la IP del servidor?
Gracias.
El único servidor que admite el encabezado "X-Forwarded-For" es Icecast-kh.
Cambie a Icecast-kh, deje su configuración de Nginx como está y no olvide agregar
<x-forwarded-for>_PROXY IP HERE_</x-forwarded-for>
a su configuración de Icecast-kh.