2016-06-30 2 views
1

J'ai un serveur Icecast assis derrière le serveur proxy Apache, donc la connexion du client à Icecast est effectuée de cette manière:
Client - > Serveur Apache (proxy inverse) -> Serveur Icecast.
La raison pour laquelle j'ai besoin du proxy, c'est que j'ai besoin d'avoir les URL d'Icecast via HTTPS sur le site web, et que je n'ai trouvé aucune autre solution que le proxy HTTPS sur le port. est ici - Why Icecast2 does not want to give the stream through https?, bien que là ils ont le serveur nginx comme proxy).Comment afficher l'adresse IP client correcte dans les statistiques Icecast, lorsque Icecast fonctionne derrière le proxy

Le serveur Icecast montre les statistiques - l'adresse IP distante des clients qui s'y connectent - et j'ai besoin de ces statistiques. Les statistiques peuvent être visualisées via l'interface web d'Icecast - base url, en suivant (/admin/listclients.xsl?mount=/mount-point-name). Mais après l'envoi par proxy de la connexion, Icecast affiche l'adresse IP distante incorrecte (elle affiche toujours l'adresse IP du serveur proxy).

Est-il possible de faire Icecast afficher le bon client ip dans ces stats (comme mettre X-Forwarded-For IP au lieu de REMOTE_ADDR, comme le client ip est censé être transféré dans X-Forwarded-Pour entête à Icecast serveur par Apache mod_proxy)?

Voici la config de mon hôte virtuel proxy Apache:

<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 (sur Ubuntu)
Version Icecast: 2.4.2

+1

1. Essayez d'utiliser la version Icecast kh 2. Non sûr à propos d'Apache, mais je l'ai eu travailler sur Nginx avec la configuration suivante: 'server { écouter 80; nom_serveur radio.com; .... emplacement/flux { proxy_set_header X-Forwarded-For $ remote_addr; proxy_pass http://stream.radio.com:8000/mount; } .... } ' (attention à l'en-tête' X-Forwarded-For') –

Répondre

1

Icecast ne prend pas en charge inverse par mandat (et il ne s'agit pas seulement de l'en-tête du proxy, il y a d'autres problèmes). Nous envisageons d'ajouter un support complet dans 2.5.

Nous très recommandons d'exécuter Icecast directement sur le port 80. En cas de Debian, vous devrez configurer certaines choses: http://lists.xiph.org/pipermail/icecast/2015-February/013198.html

0

Je nouveau face à ce problème et voici comment je suis arrivé il travaille avec Nginx & Icecast-kh:

  1. Ajouter X-Forwarded-For tête vous Nginx configuration proxy:

    location /stream { 
        proxy_set_header X-Forwarded-For $remote_addr; 
        proxy_pass http://stream.radio.com:8000/mount; } 
    } 
    
  2. Ajouter <x-forwarded-for>127.0.0.1</x-forwarded-for> à votre configuration Icecast quelque part entre <paths> balises, où 127.0.0.1 est l'adresse IP de votre proxy (généralement 127.0.0.1)