Server Version#: 1.21.2.3943
Player Version#: 8.12.2.22756
I run Plex behind a reverse proxy with Custom server access URLs and this works well. However, if any custom url is entered with an explicit port number that differs from 32400, the Android client sends a bad URL to Plex’s photo transcoder, e.g. the access URLs “https://mydomain.com,http://192.168.0.2.xip.io:4444” will generate a request such as:
GET /photo/:/transcode?width=289&url=http://127.0.0.1:4444/library/metadata/33496/thumb/1611637434&height=433&X-Plex-Token=redacted
I’m not sure why the Android app needs to specify a server url when accessing the photo transcoder, the server can infer it’s own information. My Plex server runs in a Docker container on the default port of 32400, however, the reverse proxy exposes Plex on mydomain.com:80, mydomain.com:443 and lan:4444. The latter exists as a custom url as sometimes local content ends up being transferred over wan, this hint seems to help “nearby” server work on certain devices.
TL;DR the Android Plex client should not use the port specified in custom server access urls. It rewrites 192.168.0.2 → 127.0.0.1 but uses the original port which is not necessarily correct.
Instead of making a request like ?url=http://127.0.0.1:4444/library/metadata/33496/thumb/1611637434, a file url such as ?url=file:///library/metadata/33496/thumb/1611637434 would work for all? setups.