Jellyfin, Caddy, and Cloudflare Real IP

notdeadyet@lemmy.dbzer0.com to Selfhosted@lemmy.world – 32 points –

Hello everyone,

I currently have Jellyfin running through Caddy and Cloudflare as reverse proxies.

I have tried everything and can't seem to get Jellyfin to report anything but the Cloudflare IP for clients.

Does anyone have a similar setup and could help me troubleshoot this? I can share whatever configs I am using as required.

Thanks!

13

You are viewing a single comment

I have followed that guide which let me to a few GitHub issues.

Here is what I have put in my config:

servers {
        trusted_proxies cloudflare {
                        interval 12h
                        timeout 15s
                }
        trusted_proxies static private_ranges
        client_ip_headers Cf-Connecting-Ip X-Forwarded-For
        }
}

I have also added all Cloudflare IPs in Jellyfin's known proxies:

103.21.244.0/22, 103.22.200.0/22, 103.31.4.0/22, 104.16.0.0/13, 104.24.0.0/14, 108.162.192.0/18, 131.0.72.0/22, 141.101.64.0/18, 162.158.0.0/15, 172.64.0.0/13, 173.245.48.0/20, 188.114.96.0/20, 190.93.240.0/20, 197.234.240.0/22, 198.41.128.0/17

Yet, I'm still not seeing the real IPs.

I have also added all Cloudflare IPs in Jellyfin's known proxies

You should only need to add the IP of the last proxy before reaching Jellyfin, which would be Caddy.

Using a whitelist in this manner with cloudflare may be challenging as this list can potentially change. They do have means to query it though. https://developers.cloudflare.com/api/operations/cloudflare-i-ps-cloudflare-ip-details Additionally, have you considered ipv6 support?

if you haven't solved the problem yet, I would consider switching to Apache for your reverse proxy and using mod_remoteip.

I might have to switch, as much as I like the simplicity of Caddy, I keep running into issues like this unfortunately.