IPSentry Version 4

Home |   help index | Screen Shot

Related Topics Screen Shots Email to support@ipsentry.com Go to ipsentry.com

How-To: Monitor a web site on a multi-homed web server.


So, now you understand how to monitor a web server ( HT0011:  Monitor a basic web server. )and you get the idea between checking an specific page or script results ( HT0012:  Monitor a specific web page or script output. ).  The problem now is that there are 50 different domain names tied to one IP Address on your web server and the results being returned are not from the right domain.

First a VERY quick overview on what happens on a multi-homed server and some information on what is known as a HOST header.

When you issue a request to connect to ipsentry.com, the domain name is of course converted to an IP Address and a connection is (hopefully) established with the server.

On a server that is not multi-homed, a request need only be issued to the server for a document and that document is delivered based on various mappings and server configurations.  On this type of server, a GET request for /index.html will return the same document regardless of what domain name was used to get there.

On a Multi-Homed server, the browser must include some information in the request to let the server know what domain name was originally used to get to the server and then deliver the document for that domain. In order to accomplish this, the server sends what is known as a HOST HEADER in the request.  This header tells the server that we are requesting a document from HOST: ipsentry.com rather than any of the other domain names that will resolve to this same address.  In this case, a get request for /index.html may deliver a different file based on the domain name specified in the HOST header - even though the relative path and file name are the same.

So the question becomes - how do I include a HOST header using IPSentry?

Remember the examples in configuring a monitoring entry to retrieve a specific page or script?  Well, there is very little difference between that technique and this method.  Actually, there is only one difference... including the host header in the DATA TO SEND field.

In our previous example, we set Data to Send to GET /scripts/dbtest.asp HTTP/1.0^^

In this example however, we will be accessing the same server, on the same IP Address, but the server is configured with different mappings for ww2.someserver.com and www.someserver.com. We are interested in the script results from ww2.someserver.com 

Simply change the Data to Send field to:
GET /scripts/dbtest.asp HTTP/1.0^Host:ww2.someserver.com^^

Notice the "Host:" header being inserted after the HTTP protocol spec?  All we have done here is added another header line to the HTTP request that is delivered to the server. 

A quick note about "^".  This symbol is convered to a line feed character before sending the data to the server.  With HTTP, the request is simply a 'list' of various bits of information, one on each line.  A blank line tells the server that it has reached the end of the request. "^^"

For advanced users, you can see how to enter proprietary or additional header information related to HTTP in the request.  Simply separate each one with a "^".  Always make sure that the request ends with ^^ to signify that the request is complete and the server should act upon the request sent.


Related Topics Related Topics

Home  |  Product Info  |  Download  |  Pricing  |  Order Now   |  Support  |  Contact Us

Contact: support@ipsentry.com  https://ipsentry.com © 2006 by RGE, Inc. - All Rights Reserved