You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nginx搭配Cloudflare与Shoutcast如何获取客户端真实IP?

解决Shoutcast显示代理IP而非真实客户端IP的问题

我明白你的困扰——反向代理(Cloudflare + Nginx)把真实客户端IP给“藏”起来了,导致Shoutcast只能看到服务器自身或者Cloudflare的IP,没法区分独立听众。下面是一步步的解决方案:

1. 让Nginx正确识别Cloudflare转发的真实客户端IP

因为Cloudflare作为前置代理,Nginx默认拿到的$remote_addr是Cloudflare的节点IP,不是用户的真实IP。我们需要先配置Nginx信任Cloudflare的IP段,并从Cloudflare的专属头里提取真实IP。

打开你的Nginx主配置文件(比如/etc/nginx/nginx.conf),在http块中添加以下内容:

# 信任Cloudflare的IP段(当前为2024年官方公布的IP段)
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
set_real_ip_from 162.158.0.0/15;
set_real_ip_from 104.16.0.0/13;
set_real_ip_from 104.24.0.0/14;
set_real_ip_from 172.64.0.0/13;
set_real_ip_from 131.0.72.0/22;
# 从Cloudflare的CF-Connecting-IP头获取真实客户端IP
real_ip_header CF-Connecting-IP;

2. 配置Nginx反向代理时传递真实IP给Shoutcast

接下来修改你的Nginx server配置块(就是你提到的代理到mypi:8000的那个配置),添加代理头,把真实IP传递给Shoutcast:

server {
    # 你的原有配置(比如server_name、listen端口等)
    
    location / {
        proxy_pass http://mypi:8000;
        # 传递真实客户端IP相关头
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

3. 让Shoutcast启用转发IP支持

最后修改Shoutcast的配置文件(通常是sc_serv.conf),添加一行启用转发IP的选项:

ForwardedIP=1

这个配置会让Shoutcast优先读取X-Forwarded-For头里的IP,而不是直接连接它的代理IP。

4. 重启服务验证效果

执行以下命令重启Nginx和Shoutcast,使配置生效:

sudo systemctl restart nginx
# 替换成你的Shoutcast重启命令,比如:
sudo systemctl restart shoutcast

之后再查看Shoutcast的连接列表,应该就能看到每个听众的真实IP了。

额外注意事项

  • 确保Cloudflare的域名代理状态是橙色云朵(已代理),只有这样Cloudflare才会传递CF-Connecting-IP头
  • 如果你的Shoutcast版本非常老旧,ForwardedIP选项可能不存在,建议升级到最新稳定版
  • 定期检查Cloudflare的官方IP段,确保set_real_ip_from里的地址是最新的

内容的提问来源于stack exchange,提问作者Robin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:03:00