Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a web site at BlueHost ("Pro" plan) that is down often. Firefox says:

The connection has timed out

The server is taking too long to respond.
    The site could be temporarily unavailable or too busy. Try again in a few moments.
    If you are unable to load any pages, check your computer's network connection.
    If your computer or network is protected by a firewall or proxy, make sure that Firefox is permitted to access the Web.

However, the trace route is fine:

  1    <1 ms    <1 ms    <1 ms  speedport.ip [192.168.2.1]
  2    39 ms    40 ms    40 ms  217.0.112.281
  3    42 ms    41 ms    43 ms  87.186.228.226
  4    49 ms    50 ms    48 ms  217.231.42.245
  5    48 ms    49 ms    49 ms  62.157.251.154
  6   184 ms   184 ms   183 ms  xe-0-3-0.slc10.ip4.gtt.net [89.149.187.137]
  7   188 ms   185 ms   196 ms  ve61.ar05.prov.acedc.net [69.31.64.6]
  8   186 ms   185 ms   185 ms  prv-212-1-0-1.unifiedlayer.com [69.27.175.151]
  9   186 ms   185 ms   185 ms  69-195-64-129.unifiedlayer.com [69.195.64.129]
 10   186 ms   185 ms   185 ms  162-144-240-157.unifiedlayer.com [162.144.240.157]
 11   186 ms   186 ms   186 ms  162-144-240-111.unifiedlayer.com [162.144.240.111]
 12   185 ms   185 ms   186 ms  box950.bluehost.com [69.195.124.150]

I need to be able to monitor if my site is online/offline and I thought trace route is the appropriate tool for that.

share|improve this question
3  
The physical line to the server is fine, but the software running on it to respond to your requests (apache etc) is not – Frank Mar 3 at 20:37
    
It looks like traceroute cannot be used to monitor the status of a web site. But AUTOMATIC WEBSITE CHECKER soft.tahionic.com checks if the CONTENT of web site is ok. So, whenever the site is offline or returns an unexpected content (505 error msg for example) it will beep. – SolarWind Mar 4 at 10:23
up vote 5 down vote accepted

What Is a Virtual-Host?

Some web-servers, like Apache, can be configured to use what's called virtual-hosting; essentially a local redirection service. In essence, it works like this: the web server(we're going to assume it's Apache2 in this case) will choose what documents to serve depending on what domain and/or IP address the request was from. For example: if you were to navigate to a website at example.com, the server may give you the web-files stored at /var/www/com.example, but if you navigate to another site at example-2.com it may serve you the files at /var/www/com.example-2. All that the server's doing here is changing what is called the document-root, which is essentially the directory of the domain "root" (ex. google.com = root dir., google.com/file/ = not root dir., but a folder stored in the root dir).

Why This Is Relevant

Now what this has to do with your situation: Your domain at http://xxx.bluehost.com may actually be pointing to the exact same server as someone elses website, but the server will respond differently because of your domain name; So when you perform a traceroute to that server it may still respond successfully, because Bluehost may have taken your website down only. And a fair warning: I've always suspected the hosts that offer a cheap web server plan will occasionally shut down the websites of their smaller clients to make room for their bigger clients (bandwidth, processing power, etc.). If you read your agreements and contracts, there's probably a clause that gives them the right to do this.

NOTE: Don't confuse a virtual-server - or virtual-computer - with a virtual-host. They are very different, although they have similar purposes. Also, my apologies if it sounds like I'm assuming you know nothing about web-hosting and what not, it's just easier to assume someone doesn't than to explain it later; and it gives information to people that may read this question later as well!

share|improve this answer
1  
Yes, I have been with iPage, InMotionHosting, BlueHost... all have tricky agreements. And LOTS of downtime! – SolarWind Mar 4 at 10:21

The website runs on a server process. When you shut down the server process, the server does not magically turn off. Also not when you misconfigure your firewall (and block port 80) neither does the server go off nor does the ICMP rule in the firewall get deleted.

share|improve this answer
29  
A non-technical explanation - your house is still there and people can still ring your door bell, even if you are not at home to answer :) – Moo Mar 3 at 11:05
5  
Yes. Funny how little people managing websites know these days. ICMP answers are handled by the TCP stack in the oprating system. A website is handled by something you may have heard of - it is called "web server". Turn off the web server, the machine is still there. – TomTom Mar 3 at 13:20
3  
@TomTom Thanks for the explanation, I found that the text the server does not magically turn off in your answer was a bit obscure. Your last comment is explaining it in a simpler way: TCP stack which is runned by the OS responds to traceroute and the web server which process is down can't respond to Firefox. – A.L Mar 3 at 13:48
5  
@TomTom whether a process or the kernel is answering ICMP is pretty unimportant here: something is answering obviously. Your answer would benefit from a short explanation of what ICMP is, rather than a condescending comment on "how little people managing websites know these days". Obviously that's why they ask! – Calimo Mar 3 at 15:47
2  
This answer is a bit misleading, because shutting down the server process won't cause a connection timeout. If there is no process listening on the port, the kernel will respond to the TCP SYN packets with TCP RST packets. So the client would see an immediate connection refused error message rather than having to wait for a connection timed out message. A misconfigured firewall could however cause connection timeouts. – kasperd Mar 3 at 18:34

Traceroute uses ICMP protocol to reach an address, and a HTTP server use HTTP protocol, different ports, and different approaches. I can reach an address via ICMP echo request but, if the port I'm trying to communicate is closed or freezed somehow, I'll get a timeout error. And if you're sure the server is up and the port is up (listening), is better to check the firewall rules then.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.