iOS app shows my libraries as offline from outside the network, but web app works fine

This is my setup:

  • Plex server is running inside a Docker container on my NUC, with all the required ports published using the default bridge network mode.
  • Nginx is running on the NUC on port 443, and it’s configured to proxy requests to Plex.
  • Router has a static public IP and a REDACTED_DOMAIN pointing to it. It’s configured to port forward traffic on 443 towards Nginx. My ISP does not do CGNAT.
  • On the Plex server, Settings > General > Network > Custom server access URLs is set to “https://REDACTED_DOMAIN:443”, and Settings > Remote Access shows a green check mark, confirming that it’s indeed publicly accessible.

On my browser, if I go to “https://REDACTED_DOMAIN”, I’m able to access my libraries and play videos just fine regardless of whether I’m inside or outside my network. However, for the iOS app, it only works inside my network. Outside my network, the iOS app shows my libraries as offline. Taking a look at the iOS client logs, I can see:

2022/12/09 14:18:44.603 (123 MB) (1046229) 🔧 PMKNetworkTask.m:225 | Completed [403]: 26: Cloud (plex.tv): GET https://sonos.plex.tv/resources
2022/12/09 14:18:44.655 (123 MB) (1046228) ❌ PMKContainerResponseSerializer.m:56 | Assertion failure in -[PMKContainerResponseSerializer containerFromResponseObject:URL:], /Volumes/workspace/repository/PlexKit/PMKContainerResponseSerializer.m:56. Reason: 'Invalid parameter not satisfying: document'
2022/12/09 14:18:44.660 (123 MB) (1046228) ❌ PMKContainerResponseSerializer.m:62 | Failed to serialize container from object: The operation couldn’t be completed. (PlexMobile.(unknown context at $1060d6e30). XMLDetails.XMLError error 1.)
2022/12/09 14:18:44.660 (123 MB) (1046228) ❌ PMKConnectionManager.m:946 | Connection test to <PMKPlexServerConnection: 0x282d46440>[ REDACTED_DOMAIN:443 - plex,published,direct,verified ] for <PMKServer: 0x283cbcf30>[ REDACTED_PLEX_SERVER_NAME (REDACTED_PLEX_SERVER_ID) - server,standard,hasPresence (1.29.2.6364-6d72b0cf6) ] failed validation (reason=4)
2022/12/09 14:18:44.683 (123 MB) (506525) ➖ PMSourceManager.m:1285 | Persisting source manager data for account REDACTED_PLEX_ACCOUNT_ID

Why is this happening? What does failed validation (reason=4) mean?

Server Version#: 1.29.2.6364
Player Version#: 8.12.1

Seems like recent similar reports regarding just iOS remote access. See https://forums.plex.tv/t/cloudflare-cdn-can-work-in-plex-web-and-desktop-but-not-in-ios-plex-player/819359 for the most recent with solutions.

Router:443/HTTPS → Nginx:443/HTTPS → Plex:32400/HTTP

@perplexity Settings > Remote Access > Manually specify public port is set to 443 already. My public server endpoint only accepts HTTPS. The UI says “Fully accessible outside your network”. So I don’t think that post’s solution applies to me?

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.