Adventures in DNS Configuration
One of the main tenants of the The Flatiron School is “Always be a beginner,”* which has been pretty easy for me to embrace so far, since I am the noobiest of coding noobs right now. Pretty much every day, I’m reminded of my beginner-dom, even in realms I thought I’d more or less mastered.
Case in point, this very blog.
Day one, we were asked to set up technical blogs, which we’d use to write about all the cool new concepts we’re learning. I was pretty excited to dive right in, especially since I’d just built my own portfolio site at my newly-purchased custom domain, kate-travers.com. When I found out GitHub offered free hosting through GitHub pages, I about flipped. This was gonna be great. I could build out my new site with a SEO-friendly blog feature, perfect my git skillz and gain all kinds of GitHub coder cred in one fell swoop. I was a subdomain and CNAME record away from blogging like hacker.
Now, this was not my first time at the DNS-configuration rodeo. I’d set up probably +10 domains over the past year, for myself, my friends, even a couple clients. I felt pretty comfortable navigating the GoDaddy’s and Domain.com’s of the world.
Yeah…you know where this is going. Cue the klaxon.
The night before I was to present my first blog post to the class, I ran through GitHub’s clear and thorough instructions, first adding a CNAME record to the master branch of my github pages repo, then going into Domain.com’s DNS admin - whom I’d purchased the domain through - and adding a CNAME record there, pointing to my gh-pages site. In the past, I’d seen DNS settings update in minutes, so I was a little concerned when, hours later, my blog still wasn’t appearing at its new address. That concern turned to panic when minutes before presentation time, my blog was decidedly not configured.
Shame faced and totally beginner’d, I pulled up my repo and presented the raw file to the class.
After the presentation, I poured over my repo and domain.com’s DNS console, trying to figure out where I’d gone wrong. Nothing. No clues. I couldn’t see a thing out of place. But that didn’t stop me from spending the next few days deleting and re-adding CNAME records, waiting 24hrs, only to have it keep failing, again and again. I read through every StackOverflow post, hoping some other poor noob could save me, and my noob-dom could remain a secret. I’m resourceful. I’d fix this myself.
A week went by, and my resourcefulness had gotten me nowhere. That sad 404 Not Found page kept staring me down, crushing my hacker blogging dreams.
Finally, I did what I should have done from the beginning - I contacted GitHub’s support team. An hour later, a nice fellow named Steven! (who I’m 99% sure is not a robot) sent me a polite email, asking why I wasn’t using domain.com’s default nameservers.
Boom. It clicked. Because domain.com isn’t hosting my website. I bought my domain name from them, but I bought domain hosting from a nice little outfit called Web Hosting for Students ($25/year for Treehouse students - I highly recommend it). I could add as many CNAME records to domain.com as I wanted; it’d never redirect my subdomain, because domain.com is my DNS Registrar, not my DNS Host/Provider.
In one email, Steven! had saved the day. A quick visit to my actual DNS provider’s admin console, and my blog was in business.
One email, one lesson from day one at Flatiron - all these first steps, these beginnings, are proving to be the most powerful. I’m hoping that’s a lesson that’ll stay with me ‘til the end.
So what have we learned from this episode?
DNS Registrar != DNS Provider. If you bought your domain from one company (like domain.com) and your hosting from another company (like studentwebhosting.com), then your DNS Provider is the company providing hosting.
GitHub pages are awesome. Free hosting, amazing support team, what’s not to love?
GitHub’s Support team rules. Especially Steven!.
Always be a beginner. Don’t spend hours stubbornly circling a problem. Reach out to another human being. You’ll learn something, save hours of your life, and extend your support network - always a good thing.
Also in case you’re curious, here’s the full list of FLATIRON VALUES:
- Be a calming force
- Create a positive impact
- Empower people
- Take Risks
- Maintain perspective
- Find what to love
- Make no little plans
- Finish what you start
- Always be a beginner
- Validate yourself