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. 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') –