HTTP/1.1 compliant web browsers send an HTTP header called "Host" along with every request, to inform the server which name they're requesting resources from - this allows for a server to host multiple separate sites via the same IP address.
Because of this, modern web servers have a baked-in capability to treat requests to different hosts as if they're coming in to a completely different site based on the content of that "Host" header.
In your case, the computer's name is resolving successfully to your local system (exactly what address it resolves to depends on your networking configuration) as is evident from the 404 responses that IIS is generating, but IIS isn't mapping the request to the site that you're expecting it to.
The issue is in your IIS bindings configuration. Your issue is one of three possibilities:
- The binding on the desired site is not set to the right host name. It may be set to just
localhost, while the request is coming in with a header of
- The binding is not set to the right IP address. It may be set to just
127.0.0.1, while the name resolution process is probably resolving the name to a bound address instead.
- Even if the desired site's binding matches, another site is getting the request because it has a more applicable binding. For instance, if your desired site is bound to all addresses on a given port, and another site has that same port bound with a more specific address, it will get the request instead.