Being the Über Geek that I am, reaching my home server from anywhere in the world is trivial.
I have all the appropriate port-forwarding in place for ssh, ftp, vnc, and other miscellaneous ports for various different tasks and programs.
One such program is Plex, a media server that houses, manages and maintains my media collection.
When I want to access the Plex web client from teh internetz, I can simply type my home IP, port and path into any browser from anywhere in the world, login and Boom-Wow-Kapow™, I am in.
The Problem
While this process is great and easy for me as a software-engineer, my wife, who is !software-engineer should be able to watch Plex as easily as I can.
She shouldn’t have to figure out the IP address of our home machine, remember which port to use or remember the relative path of the server.
She should be able to enter a simple url, such as http://home.coneybeare.me to get to Plex, so let’s figure out how to do that.
- Complex
http://68.194.30.155:32400/web
- Easy
http://home.coneybeare.me
The Solution
The first step is to make it easy for her to reach the home machine.
This one is easy as there is an entire infrastructure older than I am to match easy-to-remember names to hard-to-remember computer IP addresses: DNS.
First, I added a home subdomain to one of my existing domain names.
Then, I use a service called DynDNS to keep this subdomain up-to-date with my home’s external IP address.
I could have written a script to do this for me, but I already had DynDNS setup for other reasons.
Now we are looking good:
- Good
http://home.coneybeare.me:32400/web
The next step is to get rid of that pesky port.
To accomplish this, instead of having my router forward port 32400 to the server, I set it up to forward port 80 instead.
Port 80 is the default http port, so omitting a port in the url is the same as using port 80.
I wasn’t using the server to host any other webpages, so hijacking the whole system to serve Plex was fine for me.