Main Page
 The gatekeeper of reality is
 quantified imagination.

Stay notified when site changes by adding your email address:

Your Email:

Bookmark and Share
Email Notification
Project Localhost
Purpose
The purpose of this documentation is to provide tips on troubleshooting Windows Server 2008 website availability. Undoubtedly you've probably encountered an issue where websites on a Windows Server 2008 machine are available one minute, and if you reload the page a few times become unavailable...reloading the web page a few more times and violia the page is available again. Normally, there are a series of things you can check on the server itself (like CPU usage, memory, disk, logs and so forth) but when none of those reveal anything useful, most likely you've got an obscure issue with either (1) the server, or, (2) something on the network the server is plugged into.

However, in order to isolate the spotty website availability issue to either the server or network, you've got to isolate a website on the server that there are availability issues with (usually, if it is network related, all of the websites on the server will have the same issue). This is accomplished by accessing a website (after logging into the server as the administrator) using the web browser on the server.

But, just opening a website in the browser on the server does not mean you are accessing the website locally (such as using the IP address of the website in the browser's URL bar). The web browser will not automatically "just know" that the website it is requesting is on the server; more than likely it is going to treat the IP address you give it just as it would any other URL. The way to "force" the web browser to load a website directly from the server as a local website, you need to use "localhost" as the URL. By default, on Windows Server 2008 a "localhost" is not setup by default so you need to set one up. Once you have one setup, however, you can use that in the browser's URL bar and effectively bypass the network and keep the requests local to the server itself. If reloading the URL "localhost" is consistently showing a page or resource on a website (on the server) it's highly likely the availability issue is due to something else on the network.

The steps below illustrate how to add a "localhost" to a website under Windows Server 2008 and IIS7.


(Enlarge)
  1. Access the IIS Manager.
  2. Select a website with the availability issue.
  3. Under "Browse Web Site" there should be no "localhost" defined.

(Enlarge)
  1. Open the web browser on the server and in the URL enter "http://localhost" and press enter. The request should return a 404 error. Notice that, down at the bottom of the browser it is interpreting the URL as a "Internet" location - this will be true for virtually all URL's you provide.

(Enlarge)
  1. Under "Edit Site" click on "Bindings".
  2. Under the "Site Bindings" pane, click on the button "Add...".
  3. Under "Host name:" enter "localhost" and click on "OK".
  4. Under the "Site Bindings" pane, click on the button "Close".

(Enlarge)
  1. The change should be immediate as shown.
  2. Under "Browse Web Site" you should see a new entry of localhost. When "localhost" is entered in the web browser on the server, it will resolve to 127.0.0.1 (which is local to the server). "localhost" is commonly used by .Net developers to be able to run web applications locally on their computer without needing a full-fledged server.

(Enlarge)
  1. Now if you reload the "http://localhost/" URL in the web browser you'll notice that the web browser brings up the website that "localhost" is bound to, and it treats the request as being local to the server as "Local Intranet" instead of "Internet".
  2. If the website consistently comes up in the "Local Intranet" context, you've most likely got a network issue to deal with...not the web server itself.


About Joe