By default IIS will listen for connections on port 80 for any IP bound to the server. This happens even if there are no host headers or bindings set for a specific IP. This can be a problem when trying to run multiple web servers on port 80.
To set IIS to listen on specific IPs follow the instructions below.
Windows Server 2003/IIS 6:
1. This requires the Server 2003 support tools. If this is not already installed it can be downloaded here.
2. Once installed open a command prompt and navigate to the support
tools installation folder (default is C:\Program Files\Support Tools).
cd C:\Program Files\Support Tools
3. Stop http.
net stop http /y
4. Use this command to display the current list of IPs:
httpcfg query iplisten
5. By default it will listen on all IPs (0.0.0.0) so we can remove this.
httpcfg delete iplisten -i 0.0.0.0
6. Specify the IP(s) that IIS should listen on. Make sure to update
127.0.0.1 to the desired IP and run the command for each IP IIS should
httpcfg set iplisten -i 127.0.0.1
7. Start http and test out your sites.
net start http
Windows Server 2008/IIS 7:
1. Open a command prompt and type “netsh”.
2. Type “http”.
3. Enter the following command to display the current list of IPs to
listen on. Note if no IPs are displayed like in the below image, IIS
will listen on all IPs (default).
4. Use the command below to set IIS to listen on a specific IP. Make
sure to replace 127.0.0.1 with the correct IP and run the command again
for any additional addresses.
add iplisten ipaddress=127.0.0.1
5. In case you need to delete an IP from this list, use the following command.
delete iplisten ipaddress=127.0.0.1
6. Restart IIS to apply these changes.
I use command:
netsh http show iplisten
127.0.0.1 in listening list. (But I didn’t add it manually). So I delete it and add
netsh http delete iplisten ipaddress=127.0.0.1 netsh http add iplisten ipaddress=0.0.0.0
Then I restarted iis server.