First make sure remote access is enabled and working. You can test just with an IP address without any domain name. Alternatively/additionally you can also test with the plex.direct address that your server got, as that is basically Plex’s version of DDNS that is all automatically configured and should work out-of-the-box.
If you then rather want to use your own domain name or other DDNS provider for some reason: At the network settings you can set a custom access URL to advertise (at the bottom) and set your custom server TLS certificates (three fields at the top) that you got from some CA (for example Let’s Encrypt or similar).
It’s probably far easier and more robust to just use Plex’s in-house solution, but you got the option to set it as you wish.
So am i right in thinking this is how the plex direct address works:
My plex server ‘calls home’ to plex central public service and external IP is logged
plex central tests it can connect to my WAN ip - and port 32400 can hit my plex server on that address
A plex direct address is issued?
That’s nice if it is.
Essentially sounds like a reverse proxy for each user? I have looked around, where is my plex direct address? I don’t see it listed anywhere? Does it mean the traffic flowing through this proxy is also encrypted by SSL via this service?
Yes, that’s basically it.
It’s not hard-coded to use port 32400 – could be a different port if you have a different port forwarded from your router (and configured Plex accordingly).
There’s no other traffic going through Plex – it’s acting like an index / phone book. Clients will then connect directly to your server (incl. using a Plex issued SSL certificate). You don’t have to dig it out – that’s how the client/server configuration is configured to work. No matter if it’s a native client or the web app, and no matter if you’re using the bundled web app of your server or the hosted one (the web app is loaded in your browser and connections are established from there). Hence you can also simply use the hosted web app.
Okay sure, it’s not a proxy but amounts to a similar thing except using DDNS mechanisms and records instead.
I do however want the public address though, because other apps (like S2 on android) want the https address of the plex server and I would like to try it out?
I also see that the option:
Enable Relay
The Relay allows connections to the server through a proxy relay when the server is not accessible otherwise. Note: this proxy relay is bandwidth limited
Is critical to this working under the network settings.
S2 is a music playback app on android which supports plex but needs that endpoint.
Well I say the relay option is critical, because if I remove that (it was on by default) then the sonos integration stops completely, and the hosted web app also cannot reach the server.
Sonos needs a working remote access to your Plex server.
It means your server is not reachable from the outside.
That is usually due to a missing public IPv4 address of your router. On newer ISP contracts, your ISP is usually putting you behind a CGNAT.
Start here The Basics of Remote Access Troubleshooting
And Sonos has access when that relay setting is turned on.
I see under port forwarding in my Router, 32400 is routed to the internal LAN IP of the NAS, which is hosting the Plex server… so presumably relay shouldn’t be required here - yet it seems to be?
Please check out the guide linked by Otto.
There’s tons of stuff between your server and the internet that can be causing this. And “an IPv4 address” is not a publicly routable one (sadly).
Do a simple check first, e.g. testing if your router’s WAN IP address is reachable from outside your home network using the specified port – you can do that using a service like canyouseeme.org. That’ll tell you if the port forward is working and if the router’s WAN IP matches what that service sees as your public IP (just 2 checks from the top of my head from that guide, that’ll give you pointers, what might be going wrong).