首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当Icecast在代理后面工作时,如何在Icecast统计信息中查看正确的客户端IP

当Icecast在代理后面工作时,如何在Icecast统计信息中查看正确的客户端IP
EN

Stack Overflow用户
提问于 2016-06-30 18:13:02
回答 3查看 2.2K关注 0票数 3

我有一个位于Apache代理服务器后面的Icecast服务器,所以从客户端到Icecast的连接是通过这种方式完成的:

客户端-> Apache服务器(反向代理) -> Icecast服务器。

我需要代理的原因是,我需要的网址,通过HTTPS在网站上的冰播,没有找到任何其他解决方案,除了代理HTTPS到端口,冰播坐在,通过超文本传输协议(建议的解决方案是这里- Why Icecast2 does not want to give the stream through https?,虽然那里他们有nginx服务器作为代理)。

Icecast服务器正在显示统计数据-连接到它的客户端的远程ip -我需要该统计数据。可以通过基于Icecast的url的web界面查看统计数据,如下所示:(/admin/listclients.xsl?mount=/mount-point-name).但是在代理连接之后,Icecast在那里显示了错误的远程ip (它总是显示代理服务器ip)。

有没有可能让Icecast在这些统计数据中显示正确的客户端ip (比如放入X-Forwarded-For IP而不是REMOTE_ADDR,因为客户端ip应该由Apache mod_proxy在X-Forwarded-For报头中传输到Icecast服务器)?

下面是我的Apache代理虚拟主机的配置:

代码语言:javascript
复制
<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版本: 2.4.7 (在Ubuntu上)

Icecast版本: 2.4.2

EN

回答 3

Stack Overflow用户

发布于 2016-08-11 17:18:22

我再次遇到了这个问题,下面是我如何使用Nginx &Icecast-kh来解决这个问题的:

  1. X-Forwarded-For头部添加到您的Nginx代理配置中:

location /stream { proxy_set_header X-Forwarded- $remote_addr;proxy_pass http://stream.radio.com:8000/mount;}}

  • <x-forwarded-for>127.0.0.1</x-forwarded-for>添加到<paths>标记之间的冰播配置中,其中127.0.0.1是您的代理(通常为127.0.0.1)

的IP

票数 2
EN

Stack Overflow用户

发布于 2016-07-02 15:29:11

Icecast目前不支持反向代理(这不仅仅是关于代理头,还有其他问题)。我们正在考虑在2.5中添加完整的支持。

我们强烈建议直接在端口80上运行Icecast。如果是Debian,你需要配置一些东西:http://lists.xiph.org/pipermail/icecast/2015-February/013198.html

票数 1
EN

Stack Overflow用户

发布于 2021-12-10 13:34:50

我只是在Icecast的2.4.4版本之上使用了包含来自kh分支的x-forward-ip支持的created repository。它可以在2.5.0版本发布之前一直使用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38120135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档