I have been hosting this site internally for about a year now on a virtualised nginx instance, getting it up and running was a breeze but something always bugged me – I couldn’t access the site from within the local network.
After a bit of digging around I found the problem… my router didn’t support NAT Loopback. Without NAT Loopback if I typed my url into the address bar it would take me to my routers login page. Now I could work around this by using the internal ip of the nginx instance however because the site address is http://tomaustin.xyz WordPress seems to get a bit weird if you don’t access it from that address (certain things don’t render correctly, images don’t load).
After about a year I decided enough was enough and I was going to sort this out.
Internally I host my own domain and DNS server so I knew with a bit of DNS magic I could get this working. Normally DNS servers cause nothing but problems and you can spend hours trying to get something working before you realise it’s a DNS issue, it’s always DNS! This time DNS was on my side.
First off open DNS Manger on your DNS server and expand Forward Lookup Zones, then right click and select New Zone
Click through the wizard and select Primary zone and select “To all DNS servers running on domain controllers in this domain:” (I think any of the options will work but this is what I selected). Now enter your zone name.
Click to Allow only secure dynamic updates and finish. Your domain should now show in the Forward Lookup Zone of the DNS Server.
Now all we need to do is add a few A records and we are done, click on your zone then right click and select New Host (A or AAAA).
The first record we want to add just wants to have a blank name, add the ip address of your web server.
Once that has added add a second entry but enter www in the Name field, use the same IP address.
That should be it!