Remote playback fails in native apps while Plex Web works remotely

Hello,

I have a remote playback problem with Plex Media Server running as the official package on a Synology NAS, not in Docker.

Setup:

  • Plex Media Server: 1.43.3.10828
  • Android Plex app: 2026.13.0
  • Plex Pass: Lifetime, active
  • Secure connections: Preferred
  • Remote Access: Fully accessible and permanently green
  • Public port: TCP 32400

Problem:
Playback works correctly inside my home network.

Playback through https://app.plex.tv also works over mobile data.

However, native Plex clients outside my home network do not work:

  • The Android app shows “HTTP request failed” and “Network Error” when starting any video.
  • Smart TVs located in completely different networks also cannot play media from my server.

The problem affects all tested media, not only specific files.

Tests already performed:

  • Cleared all Android app data
  • Reinstalled the Android app
  • Tested an older Android app version
  • Updated and restarted Plex Media Server
  • Removed the reverse proxy and tested the standard Plex remote connection
  • Left “Custom server access URLs” empty
  • Removed and reclaimed the server
  • Confirmed that the server is claimed
  • Remote Access remains permanently green
  • Confirmed that the browser uses a secure plex.direct HTTPS connection

I reproduced the issue over mobile data and immediately downloaded:

Since Plex Web works remotely but native Android and Smart TV clients fail, could a Plex employee please check the plex.direct certificate and the server connection records associated with my server/account?

Thank you for your help.

Your server got a fresh certificate just this morning, after you have deleted the server from the list of authenticated devices.

Thank you. I restarted Plex Media Server and tested again after the new certificate was issued. Unfortunately, the Android app still shows “HTTP request failed / Network Error” over mobile data. Plex Web still works remotely.
Could you please check whether the new certificate and the updated server connection records are being used correctly by native clients?

Hi,

I have the same problem.

Everything is identical. The only difference is that port 32400 is not open. Instead, I have Nginx Proxy Manager in front of it. My domain has been added to the network setting. All other players work except Android. Playback also works correctly inside my home network (also via VPN)

PS. Same problem on all other Android Devices… No playback. http request failed…https://my.domain.xx:443/library/metadata/182618?checkFiles… status:Network Error

Thank you for confirming.
In my setup, port 32400 is forwarded directly, and I also tested completely without a reverse proxy. Nevertheless, the Android app fails on the same /library/metadata/...?...checkFiles request, while Plex Web works remotely.

This suggests that the issue is not specific to a reverse proxy or port forwarding, but may be related to native Plex clients. In my case, Plex apps on external TVs are also affected.

Could a Plex employee please compare both cases?

I found a working workaround.

The native Plex clients kept selecting the public plex.direct connection on port 32400 instead of my custom HTTPS reverse-proxy connection. Whenever the clients selected the plex.direct connection, remote playback failed with “HTTP request failed / Network Error”.

I disabled the external TCP port forwarding for port 32400 in both my router and the NAS router configuration. Port 32400 remains available locally within my home network.

The clients now consistently use my custom HTTPS reverse-proxy URL on port 443. Remote playback also continues to work after closing and reopening the Android app.

I will continue testing this with the external TV clients, but so far this workaround appears to solve the issue. It seems that the clients were selecting the wrong available connection.

I’m sorry, but I can’t confirm that. My Android client (2026.14.0) still cannot access from outside. On the same device, access to my media library works in the browser session (web client).

Thanks for the update. Since port 32400 is already closed in your setup, my exact workaround may not directly apply to your case.

In my Android app logs, the important line was:
Current best connection to ...

The app repeatedly selected the public plex.direct connection instead of my custom reverse-proxy URL. After disabling the public port 32400, it could only use the working HTTPS reverse proxy.

Please reproduce the error and immediately download the Android Plex app logs. Check which address appears after Current best connection to.

Also verify that “Custom server access URLs” contains the complete URL, including the protocol and port, for example:
https://your-domain.example:443

Then restart Plex Media Server, clear the Android app data and sign in again.

If the app already selects your custom HTTPS domain and playback still fails, your issue is probably different from mine and may be related to the reverse-proxy configuration or the Android client. In that case, the app logs directly after the failed playback attempt would be useful.

Ok. Logs:

#################################################

08-10 11:03:15.714 d: 08/10/2026 11:03:05:710 [MYUSERNAME] [Connections] Best connection to ubuntu-nas is https://my.domain:443
08-10 11:03:15.714 w: 08/10/2026 11:03:13:693 [MYUSERNAME] [Timeline] Not reporting progress for idle or stopped state.

“type”: “[object Error]”,
“stack”: “Error: Http request failed: https://my.domain:443/library/metadata/197121?checkFiles=1&includeChapters=1&includeMarkers=1, status: Network Error\n at construct (native)\n at apply (native)\n at _construct (address at index.android.bundle:1:292265)\n at Wrapper (address at index.android.bundle:1:295768)\n at construct (native)\n at _callSuper (address at index.android.bundle:1:3889458)\n at HttpError (address at index.android.bundle:1:3891898)\n at reportResult (address at index.android.bundle:1:3894449)\n at ?anon_0 (address at index.android.bundle:1:3893839)\n at throw (native)\n at asyncGeneratorStep (address at index.android.bundle:1:977225)\n at _throw (address at index.android.bundle:1:977531)\n at tryCallOne (address at InternalBytecode.js:1:1180)\n at anonymous (address at InternalBytecode.js:1:1874)”,
“name”: “Error”,
“message”: “Http request failed: https://my.domain:443/library/metadata/197121?checkFiles=1&includeChapters=1&includeMarkers=1, status: Network Error”
}:

08-10 11:03:39.297 i: [KeyHandler] Unsubscribed from key events, -1 listeners still active.
08-10 11:03:39.297 i: [ExoPlayerEngine] Releasing ExoPlayer.
08-10 11:03:39.725 i: [EngineView] View has been destroyed.
08-10 11:03:39.852 i: [ASS][View] Surface size changed to 3200x2136, format is now 1.
08-10 11:03:39.852 i: [ASS][View] Surface size changed to 3200x2136, format is now 1.

#########################################

I tried https://my.domain:443/library/metadata/197121?checkFiles=1&includeChapters=1&includeMarkers=1
in Browser from outside of my home-network (after login to plex-web):

401 Unauthorized

If you want to use a custom domain name, you need a fitting security certificate for that domain. You cannot use the certificate which is automatically provided by Plex, because that one is “pinned” to your own subdomain on the plex.direct domain. It is therefore not valid for other domains.

Your custom certificate and its passphrase need to be added to the Plex server configuration.
https://support.plex.tv/articles/200430283-network/

Hello, thank you for the quick response. But since when has this been the case?

I have been running Nginx Proxy Manager with Let’s Encrypt certificates for several years, and under “Network” I have only entered my own domain.

This “Network Error” has only started occurring in the last 2–3 months. Before that, all Android clients worked without any problems. And all other clients (ios) still continue to work from outside without the setting you recommended.