2016-06-30 25 views
1

Ich habe einen Icecast-Server hinter dem Apache-Proxy-Server, so dass die Verbindung vom Client zu Icecast auf diese Weise erfolgt:
Client - > Apache-Server (Reverse-Proxy) -> Icecast-Server.
Der Grund, warum ich den Proxy brauche, ist, dass ich die URLs über die HTTPS auf der Website haben muss und keine andere Lösung gefunden habe, als HTTPS über den Port, auf dem Icecast sitzt, über HTTP (die vorgeschlagene Lösung) zu vermitteln ist hier - Why Icecast2 does not want to give the stream through https?, obwohl sie dort Nginx-Server als Proxy haben).Wie die richtige Client-IP in Icecast-Statistiken angezeigt wird, wenn Icecast hinter dem Proxy arbeitet

Icecast Server zeigt die Statistiken - die Remote-IP der Clients, die damit verbunden sind - und ich brauche diese Statistik. Die Statistiken können über die Web-Oberfläche von Icecast - Basis-URL, angezeigt werden (/admin/listclients.xsl?mount=/mount-point-name). Aber nach dem Proxying der Verbindung zeigt Icecast dort die falsche Remote-IP (es zeigt immer die Proxy-Server-IP).

Ist es möglich, dass Icecast in diesen Statistiken die richtige Client-IP anzeigt (wie dort X-Forwarded-For IP anstelle von REMOTE_ADDR, da die Client-IP in X-Forwarded-For-Header an Icecast übertragen werden soll) Server vom Apache mod_proxy)? Hier

ist die Konfiguration meines Apache Proxy virtuellen Host:

<VirtualHost *:443> 

    ServerName my-proxy-server.name 

    ProxyPreserveHost On 
    ProxyRequests Off 
    ProxyPass/http://icecast-server-name:8000/ 
    ProxyPassReverse/http://icecast-server-name:8000/ 

    # Some other strings related to SSL-certificate 
    ..... 

</VirtualHost> 

Apache-Version: 2.4.7 (auf Ubuntu)
Icecast Version: 2.4.2

+1

1. Versuchen Sie es mit icecast-kh Version 2. Nicht sicher über Apache, aber ich hatte es auf Nginx mit der folgenden Konfiguration arbeiten: 'server { hören 80; Servername radio.com; .... Speicherort/Stream { proxy_set_header X-Forwarded-For $ remote_addr; proxy_pass http://stream.radio.com:8000/mount; } .... } ' (achten Sie auf' X-Forwarded-For' Header) –

Antwort

1

Icecast unterstützt derzeit nicht umgekehrt Proxying (und das ist nicht nur über den Proxy-Header, gibt es andere Probleme). Wir überlegen, die volle Unterstützung in 2.5 hinzuzufügen.

Wir hoch empfehlen Icecast direkt auf Port 80. Bei Debian laufen Sie einige Dinge konfigurieren müssen: http://lists.xiph.org/pipermail/icecast/2015-February/013198.html

0

ich dieses Problem konfrontiert wieder und hier ist, wie ich es arbeitet mit Nginx & Icecast-kh:

  1. hinzufügen X-Forwarded-For Header Sie Nginx Proxy-Konfiguration:

    location /stream { 
        proxy_set_header X-Forwarded-For $remote_addr; 
        proxy_pass http://stream.radio.com:8000/mount; } 
    } 
    
  2. hinzufügen <x-forwarded-for>127.0.0.1</x-forwarded-for> auf Ihre Icecast Konfiguration irgendwo zwischen <paths> Tags, wo 127.0.0.1 die IP-Adresse Ihres Proxy ist (in der Regel 127.0.0.1)