Assign specific names to local hosts

Wonder if there is a simple way to assign specific names to hosts on local network.

For example:

<plex_host>.localdomain.lan:32400 => plex.localdomain.lan
<emby_host>.localdomain.lan:8096 => emby.localdomain.lan
etc

So ports are hidden.

Thx

A simple way, no.Basically you’d want to create a reverse proxy running on port 80/443 on each host to redirect traffic back to the correct service ports. I’m not sure about Emby but you can’t change the service port from 32400 on Plex, so a reverse proxy would be the only solution I know of to achieve this.

Why do you need to do this anyways? For Plex, just always go to https://app.plex.tv.

1 Like

You are better off with just changing the ports. Much simpler. Reverse proxy wasn’t playing nice with plex (at least not for me).

1 Like

I actually don’t use Plex and was asking this is general sense.

The issue with what you are asking for is that DNS in general only provides the IP address. The only record type that includes the port is a SRV (service) record - which is exactly what you are asking for. Programs like Minecraft support it, so you can use DNS names to point to servers running on multiple ports on the same IP. The problem however is that very few things work with SRV records, specifically I’m not aware of any browser that will use then for HTTP/HTTPS.

Yeah sounds complicated.

There is one soilution https://github.com/cristianoliveira/ergo
I was not able to make it work unfortunately

If the client and server are on different subnets/networks then you would just port-forward / NAT. If they’re on the same subnet/network then it’s not worth the hassle unless you’d like to learn.

Beyond a fancy solution, the simplest solution (already mentioned) is to just change the port within the application. A large chunk of solutions will allow you to change the port, specfically because port-conflicts are common.