I recently had a problem with IIS on Windows 7 where trying to access http://localhost on the default port 80 was giving me an error:
“HTTP Error 503. The service is unavailable”
I spent several hours trying to find the cause and trying different things without any success.
Finally I came across this post that helped me resolve the problem.
The root cause was an URL Reservation http://+:80/
To remove the reservation type the following in a command prompt (but first read the post to know what your are doing):
netsh http delete urlacl http://+:80/