Network Configuration File
Jellyfin stores network settings innetwork.xml within the config directory:
Port Configuration
Jellyfin uses the following default ports:- HTTP
- HTTPS
Default HTTP port: 8096
InternalHttpPort: Port the server listens on internally (default: 8096)PublicHttpPort: Port advertised for external access (default: 8096)
Public and internal ports can differ when using port forwarding or reverse proxy.
Base URL Configuration
If hosting Jellyfin at a subpath (e.g., behind a reverse proxy), configure the base URL:1
Understanding Base URL
The base URL is automatically normalized:
- Leading
/is added if missing - Trailing
/is removed - Empty values default to root path
2
Reverse Proxy Example
If accessing Jellyfin at
https://example.com/jellyfin:3
Root Path
For root path hosting (
https://jellyfin.example.com):SSL/TLS Configuration
Enabling HTTPS
1
Enable HTTPS
Set the HTTPS flag in network configuration:
2
Certificate Configuration
Provide path to SSL certificate and password:
3
Force HTTPS (Optional)
Redirect all HTTP requests to HTTPS:
Generating SSL Certificates
Network Binding
IP Version Support
Bind Addresses
Specify which network interfaces Jellyfin should bind to:Leave empty to bind to all available interfaces.
Virtual Interface Filtering
LAN Configuration
Local Network Subnets
Define which IP ranges are considered local:1
Automatic Detection
If not specified, Jellyfin automatically detects local networks.
2
Custom Subnets
Explicitly define subnets for:
- Complex network topologies
- VPN access
- Multiple VLANs
3
CIDR Notation
Use CIDR notation (e.g.,
192.168.1.0/24) to specify network ranges.Remote Access
Enable Remote Access
Auto Discovery
Published Server URI
- By Request
- By Subnet
Automatically determine server URI from HTTP requests:
Disabled by default for security.
IP Filtering
Remote IP Filter
Control which remote IPs can access the server:- Whitelist Mode
- Blacklist Mode
IsRemoteIPFilterBlacklist=false: Only allow listed IPsReverse Proxy Configuration
Known Proxies
Register reverse proxy IPs for proper forwarding:Jellyfin trusts
X-Forwarded-For and X-Real-IP headers from known proxies.Nginx Configuration
Apache Configuration
Caddy Configuration
Traefik Configuration
Firewall Configuration
- UFW (Ubuntu)
- firewalld (CentOS/RHEL)
- iptables
Docker Networking
When running Jellyfin in Docker:Using
network_mode: host provides better performance and automatic discovery but requires the host network stack.Troubleshooting
1
Cannot Access Remotely
Check:
EnableRemoteAccessistrue- Firewall allows traffic on configured ports
- Router port forwarding is configured
- Public IP address is correct
2
HTTPS Not Working
Verify:
- Certificate path is correct and accessible
- Certificate is in PFX format
- Certificate password is correct
- Ports 8920 (or custom HTTPS port) are open
3
Reverse Proxy Issues
Ensure:
- Base URL matches proxy configuration
- Proxy IP is in
KnownProxies - WebSocket support is enabled
- Headers are properly forwarded
4
Auto Discovery Not Working
- Enable
AutoDiscoveryin network.xml - Check firewall allows UDP broadcast
- Verify client and server are on same network
Best Practices
Use Reverse Proxy
Let Nginx, Caddy, or Traefik handle SSL/TLS termination for better security and easier certificate management.
Secure Remote Access
Use VPN or properly configured reverse proxy with strong authentication for remote access.
Limit Exposure
Use IP filtering to restrict access to known networks or IP ranges.
Monitor Logs
Regularly check network logs for suspicious access attempts.
Next Steps
Transcoding Setup
Configure media transcoding and quality settings
Hardware Acceleration
Enable GPU acceleration for better performance