Iis – Website returns 500 error when partially-qualified name is used

domain-name-systemiisiis-6windows-server-2003

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.

Best Answer

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.