Because one of my site(s) is currently down, and I don’t really know why, I’ve been inspired to give you a bit of a lesson in how web serving works, and give you a (hopefully) brief insight into the ridiculous muddle I find myself in.
**NOTE: This is an ongoing issue, which is yet to be resolved and its cause yet to be fully discovered. For this reason, some of the accusations I may make may be inaccurate, but are as truthful as I can make them at time of writing. I will endeavour to follow up exactly what’s going on and inform you of the truth as soon as I know.
A site not working is a lot more complicated a problem than it may first seem, and there are many possible, complex causes. So, to help you be a better informed cybercitizens, I’m going to give you a bit of a rundown of the process that occurs when you load a website. I’ve always hated when teacher simplify things so much that they actually make what they are saying inaccurate, so I’m going to try not to do that, but I’m also going to try and keep this as easy to understand as possible. Ok, so this is basically what happens:
You type in a website address or URL (uniform resource locator) into your web browser, and hit Enter. Computer don’t like words; they instead like numbers, and before your computer can take you to your requested site, it needs to work out where it’s going. For this it needs an IP (Internet Protocol) address. Every machine in the world connected to the internet has a unique IP (which is why we’re running out, and need to move to a new scheme[IPv6], but don’t worry about that…), and every website is located on a server somewhere with an IP to direct computers to it. Your computer takes the information you’ve given it (the URL), and goes to a server that it hope will be able to swap it into the information it needs. This server is call a Domain Name Server or DNS. This DNS may be located in your router, with your ISP (internet service provider) or it might be one out on the wild web, like one of Google’s public DNS servers (18.104.22.168 or 22.214.171.124). In fact, it’s likely that your computer will have to talk to multiple DNS servers who, instead of giving it the information it wants, will just direct it to the next DNS down the line, with a bigger inventory of URLs-to-IPs, or a list that is specific to your requests. For example, if you’re trying to get to a website with a particular country code, there may be a specific DNS that stores a list for those sites. Eventually, it finds what it’s looking for, and your computer now has an IP to use rather than a URL. It then makes contact with the server at that IP, and requests whatever page your looking for. At this point, it may have to use the URL again to find out exactly what page that is. It can then download that page, and serve it up to you. And that’s basically it. (If you want some more details on how it all works, or you just want to see it in a different way, I’ve got a few links at the bottom for you.)
So, as you can see, there are a fair few possible points of failure in this system, and in the case of my site, I think more than one has failed. As far as I’ve been able to deduce so far, there are actually two issues: the primary DNS that is suppose to say the IP of my site doesn’t seem to be doing its job, and the server that holds my site(which is actually Weebly, in this case) seems to keep changing the IP at which it is held without rhyme or reason.
But I don’t constantly check up on my own website, browsing it for fun every day, so how did I come to even know that my site was down? Well that’s sort of an interesting story so I might as well tell you. Late last year, as part of an assignment I was doing for my Cert3 in IT, I was looking at website maintenance and what you need to do to maintain a website. Things like backing it up, keeping it up to date, monitoring traffic and uptime. And I had to research some tools that could be used to do these things, such as Uptime Robot. Uptime Robot is one of many sites out there that offer to monitor the uptime of your site and let you know if and when it goes down. I chose it because it’s super-simple in design, but can be mighty-powerful if you want it to be, and can do lots of cool stuff totally for freeeee!! Anyway, so I decided as a bit of an experiment, and as part of the assignment I would set up a monitor on my site(s). And I quickly forgot about the whole thing… Then, a few months ago I got a bunch of messages from Uptime Robot saying that my site had gone down and come back up. I didn’t really worry about them because they were showing that it had only gone down for a few minutes at most. And it actually turned out they were just false-negatives anyway. So I dismissed them, just like I did the message I got on Thursday. I was waiting for a class to start, and I checked my emails to find one saying that nitemice.net was down, but nothing about it coming back up yet. I just assumed that it was either wrong, or that it would soon come back. It wasn’t until that night when I had another look to see no notification that the site was back. So I checked it myself. And it really was down!! I tried a few things that I could think of at the time, to check that it really was as down as it seemed, and found that it seemed to be down from wherever you were standing.
So tonight I did some investigating. I had a look at my registrar, and the settings I had there (which are very restricted), and they seemed as accurate as ever. So I turned to Weebly to see if I could see any problem there. And I did. I found that when I tried to re-publish the site, Weebly said there was something wrong with the way my domain name was setup, and told me I had to set the DNS to a particular IP. So I went about messaging my registrar to let them know they had somehow stuffed up, and that they needed to reset my site to this IP. In a desperate attempt to check if my site was OK, I entered the IP into my browser, and was greeted by a Weebly message that told me the site was not found. “That’s odd,” I thought. I decided to have a quick look over the message I’d sent my registrar the first time they set the DNS, to see what it had said. And I noticed that the IP was different. It was in the same range, but it was a different number. I tried navigating to it in the browser and this time I got a different Weebly message, this one saying that something was incorrectly configured; that sound more like it! So I went back to Weebly, and tried republishing the site again, and this time I got a different IP again. That’s when I realise there was definitely something wrong on Weebly’s end. They were spewing out random IP for my site, but none of them actually attached to it. So I messaged them, and told them what was happening.
And that’s where I’m at for the moment. I’m waiting on Weebly to get back to me, so I can sort out which IP it’s suppose to be, so then I can get the registrar to reset the DNS to that too.
**UPDATE: Weebly got back to me pretty quickly, and it seems that they provide even non-paying customers with a range of five IP addresses for their site, and should bame able to use whichever they’d like. So that’s why I was being fed a bunch of different IPs. When my registrar got back to me, they claimed that the settings were already set as I had asked them to set them. They said they just had to “refresh the DNS server”, which is still an unacceptable issue at their end. Shortly after, I received an email from them, reminding me that my domain renewal is coming up soon. I can assume you, I’m not going to renew it with them…**
Anyway, I’ll keep you posted, and I’ll try to keep posting! I hope this has enlightened you in some way to the ways of the internet. If you’ve got something you’d like to hear me explain, let me know about it in comments. It’ll be great to hear from you. Oh, and if you want a bit more about how that stuff works, here are a few links I scrounged up for you: Warriors of the Net, How the DNS works, Basics of the Domain Name System (DNS)
To Infinity and Beyond,
- How I Helped The Biggest DDoS Of All Time (theregister.co.uk)
- How to Map a 1and1 Subdomain and Hosted Through WordPress to Weebly.com (sahmataineking.com)