How to stop IIS7 from listening on a specific IP address and port?

I am trying to install Apache on Windows Server 2008. The installation ends with a warning that the IP address I configured Apache to listen on cannot be bound. When I use netstat -a -p tcp to see if any processes are listening on the IP address and port I see several entires .. one of which shows as listening on 0.0.0.0:80. Here is a partial list of the output.

  Proto  Local Address          Foreign Address        State
  TCP    0.0.0.0:80             MYSERVERNAME:0           LISTENING

This looks to be IIS7 listening on all IP addresses on port 80. The confusing thing is that I stopped IIS7. All websites are shown as stopped. I tried iisreset /STOP as well as using the IIS7 Manager, yet something is still listening on 0.0.0.0:80. I have even made sure that every web site is bound to another IP address other than the one I want freed for Apache. Has anyone else run into this?


"Agile Jedi" set me on the right path. After searching for "disable socket pooling IIS7" I came across a great article that gave some step by step directions. I followed the directions and sure enough it worked! I was able to stop IIS7 from binding all IP addresses Basically, it boils down to the following commands (I copied and pasted these from the above article in case the article is taken down).

  1. Added or make sure your machine has two ip's
  2. Open a command prompt
  3. Type netsh
  4. Type http
  5. Type sho iplisten. It should be blank
  6. Type add iplisten ipaddress=192.168.0.90 (use the public IP address you WANT IIS7 to bind)

You should get IP address successfully added

  1. Type sho iplisten again

It should should show 192.168.0.90 in the list

  1. Type exit to get out of netsh

  2. Type type netstat -an.

    See if you notice 192.168.0.90:80 in the list. If you see 0.0.0.0:80, do an iisreset


IIS does this for socket pooling performance. We have several APACHE/Windows instances running side by side. I don't think this is a problem in newer versions of IIS. Either way you need to disable socket pooling:

FOR IIS6

http://support.microsoft.com/kb/238131