I recently installed Plex server to test it out as an alternative to XBMC after a number of friends have suggested it and I liked the ability to stream video straight to my Chromecast. Whilst testing the server component I came across an annoying issue with the fact that the web interface listens on an unobvious high port (32400 I think it is). And worse - it doesn't seem to be configurable (along with the IP address it is bound to). What I wanted to achieve was to get the web interface listening on port 80 with DNS set up to simplify access for myself. So, the goal was to go from this: http://192.168.1.2:32400/web/ to this: http://plex.domain.local/web/. Sadly, theres not much I could do about the web/ subdirectory (please comment if you figure something out!).

First of all, we're going to need a new IP address for the Plex site to listen on. I know what you may be thinking - I've already explained that Plex listens on all IP addresses so why do I need another? Well, in order to redirect a port, an IP address must be specified that isn't already listening on port 80 (HTTP) and chances are, you may have another service such as IIS listening on that port on your default IP addresses (If IIS is bound to all IP addresses, take a look at this article). So, after binding a new IP address (heres how) to my server, I created a new A record in my DNS for plex which points to the new IP, in my case: 192.168.1.107. Now, if you open up a browser and your DNS has propagated (you may need to flush your DNS), you should be able to visit http://plex.domin.local:32400/web/ and get the Plex web interface come up.

So, the next step is to avoid having to remember the obscure port number by redirecting port 32400 to 80. On the server, we want to run the following command that will redirect from the listenport and listenaddress to the connectport and connectaddress:

netsh interface portproxy add v4tov4 listenport=80 listenaddress=192.168.1.107 connectport=32400 connectaddress=127.0.0.1

You will then be able to run the following command that will list all of the redirections that you have set up on your machine:

netsh interface portproxy show all

Now, you should be able to browse to http://plex.domain.local/web/ to get to the Plex web interface.