Hey everyone,
I’m running a Plex server on my Synology NAS and trying to access it remotely using a Cloudflare Tunnel due to my ISP using CGNAT, which prevents traditional port forwarding.
After researching potential solutions, I came across this guide, which was suggested by other Redditors in this thread. I followed the steps and have Plex working externally in a web browser, but I still can’t get the Plex app (desktop or mobile) to connect.
Current Setup:
- Plex Server: Running on Synology NAS
- Domain: mydomain.com (with subdomain plex.mydomain.com)
- Cloudflare Tunnel: Routes traffic to NAS server on port 32400
- Plex Settings:
- Remote Access: Disabled (forcing all connections through Cloudflare)
- Custom Server Access URL:
https://plex.mydomain.com:32400 - TLS Verification: Disabled
- WebSockets: Enabled
Current Behavior:
I can access Plex externally via https://plex.mydomain.com in a web browser.
The Plex app (desktop & mobile) fails to connect externally.
I’m using the Plex app to test access because I want to ensure friends/family can connect without issues, regardless of their device.
Troubleshooting Steps Taken:
- Ensured Cloudflare Tunnel is correctly routing traffic – Web access confirms this.
- Disabled Remote Access in Plex and pointed it to the correct Custom URL.
- Verified the Discovery API Response – The public address does not match my defined domain.
- Obtained and applied a Cloudflare Origin Certificate to my Synology NAS.
- Enabled Debug Logging in Plex – No “failed to connect” errors in logs.
- Tried HTTP & HTTPS connections, both direct and through Cloudflare.
- Cleared Plex app data and reinstalled it on test devices.
Next Steps / Questions:
- How can I ensure Plex properly reports my public domain in the Discovery API?
- Is there a way to force the Plex app to recognize my Cloudflare-routed address?
- Would a different Cloudflare setting (e.g., Proxy Mode, caching rules, etc.) be causing this?
- Has anyone successfully used a Cloudflare Tunnel with Plex and had full app functionality?
At this point, I feel like I’m missing something small but critical. Any guidance from those who’ve successfully done this would be greatly appreciated!