Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm setting up an internal website to host a web service.

The website has the DNS entry service.test.company.local. The company uses company.local as its DNS zone for internal applications and this entry is suffixed silently on all DNS requests.

As such, a lookup for service.test resolves to the full name and the correct IP address.

The IIS 6 site is configured to listen on port 80 at the IP address service.test resolves to.

When trying to access this site via service.test.company.local, the address resolves and the service is displayed correctly.

When trying to access this site via service.test, an IIS error page is shown, reporting 500 - internal server error.

No entries are generated for this request in the website's log files or the application event log.

I can't understand where the error is coming from and it's really frustrating the lack of information IIS is giving me.

Any ideas to the problem or a solution? Any other sources of information I can check?

EDIT:

The unfriendly error from IIS is:

Unknown Host


Description: Unable to locate the server named "service.test" --- the server does not have a DNS entry. Perhaps there is a misspelling in the server name, or the server no longer exists. Double-check the name and try again.


EDIT: 2

I suspect this has something to do with the way the organization has set up their DNS entries. I can add other prefixed entries into my hosts file and locally get correct resolution to the site.

I think this problem requires a DNS guru to suggest potential problems. Unfortunately, I don't have authority over the DNS entries, so I expect a lot of pain.

share|improve this question
    
Any firewalls or anything else in front of the IIS server? Also, is that the IIS error page you are looking at? I suspect its the internet explorer "friendly error" page, which can be disabled in the IE Advanced settings. Usually IIS will give you a 500.x error which is a bit more specific as to the actual error. –  Coding Gorilla Sep 10 '10 at 17:09
    
I'm querying the site from the server itself, so there shouldn't be a firewall problem. The error page is similar to this: codinghorror.typepad.com/.a/… But for a 500 error. Not getting any 500.x with detail, I'm afraid. –  Tragedian Sep 10 '10 at 17:20
    
Can you try and turn off the 'Friendly Errors' in IE advanced settings and see if you get a different error code. Also, what are you requesting from the site, .asp? .aspx? IS there code involved here? –  Coding Gorilla Sep 10 '10 at 17:27
    
At the moment, no code. Just plain helloworld.html. Adding "unfriendly" error to question. –  Tragedian Sep 10 '10 at 17:51
add comment

4 Answers

up vote 2 down vote accepted

After getting my operations team involved, the answer has turned out to be that the proxy server has been trying to process requests, instead of them bypassing to the local network.

The error message being returned is from the proxy server, not the IIS server. This information was stumbled upon when a member of the ops team noticed HTTP requests weren't sending proxy-bypass information like they expected to.

The proxy bypass rules include *.company.local, which functions for addresses without any other suffixes and provides bypass for the fully-qualified name, but does not seem to apply when another suffix is used, such as .test.

From this, we've decided that the problem is too messy to fix, and we're going to use the fully-qualified names as a "good enough" workaround.

share|improve this answer
add comment

I don't think, based on your edit, that you're hitting your IIS server at all. As you mentioned the request never shows up in the IIS logs, and that kind of error doesn't seem like the kind of error IIS is going to give you.

Try editing your host file (c:\windows\system32\drivers\etc\host) and add the following entry:

service.test    127.0.0.1

This should ensure that the service.test request goes to your IIS server (assuming you're hitting it from the IIS server itself as you mentioned in a comment).

If that works, then the issue is likely with the way the name resolution is configured on the server. Which is to say that the 'company.local' domain is not in the DNS search suffix list.

share|improve this answer
    
I can confirm that company.local is in the DSN Suffix list for the server's network adapter. Will attempt your suggestion and get back. –  Tragedian Sep 10 '10 at 18:48
    
Adding the entry to the hosts file returns the same error as presented in question. –  Tragedian Sep 10 '10 at 19:04
    
Sorry, I'm a bit lost then. HTTP 500 is an internal processing error, but the 'unfriendly error' you listed is more a textual representation of a 404 error. The two don't quite go together unless I'm missing something; especially when you say that you're just requesting a straight html file (no code). Are there any ISAPI filters or anything like that involved? –  Coding Gorilla Sep 10 '10 at 19:21
    
No, no filters on this site. Perhaps you're feeling as lost I have have for the last few hours! I can confirm the error is 500 too, from this line in the HTML source: <!-- default "Unknown Host" response (500) --> I'm baffled. –  Tragedian Sep 10 '10 at 19:45
add comment

Programming Hero,

Good point CodingGorilla, the error is not the one that would be found for a hostheader issue. Internal error would seem to point to something else..

Can you take a look at the application pool of the site, are you using network service as the identity? Does http://localhost load or give you an error document not found? you may just try to create a new site and try with that one, if the localhost loads with a htm file, it could be something in the metabase with that particular site that is off..

Regds

share|improve this answer
add comment

Programming Hero,

Have you set the Site hostheader for service.test on the specific website. Due to multiple sites on 1 IP address suppport, IIS uses hostheaders to differentiate when hosting on port 80.

If you click on properties of your website, then Advanced, add in hostheader, and put in the blank, service.test, if dns is resolving to the ip etc...just make sure you have a correct default page in documents and it should load..

try a hello world just to see if the html will load..

REgd

share|improve this answer
    
I have tried with headers for service.test and service.test.company.local. Trying to access service.test always generates a 500 error, regardless. Also, I'm using helloworld.html as my test page. –  Tragedian Sep 10 '10 at 17:16
    
user53921 is mistaken here, if this were the issue you would more than likely be getting either a different site, or a 404 not found error. 500 means there is a coding error when the site attempts to execute something, which means you're probably hitting the site you want and something else is wrong. –  Coding Gorilla Sep 10 '10 at 17:26
add comment

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.