Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

A single server shares our main website (hosted by Apache) and Exchange OWA site (hosted by IIS).

There are 2 different public IPs for the sites, and they have 2 different URLs. However, IIS insists on grabbing all static IPs assigned to the server.

I did some research and found this link:

I am on IIS 6.0. I went ahead and disabled socketpooling, and restarted. Used httpcfg to assign IIS to the 2 internal IPs (x.x.x.11:80, x.x.x.11:443) and now IIS site acts like the ports are in use, even when Apache is turned off as well. I double checked the apache config and I specified .12 IP where necessary.

I went and looked at my ListenOnlyList and it looks correct. It has the 2 entries and correct ports.

For kicks I turned back on socketpooling and everything works. I can use Active Ports program and see go in and out of use as I turn IIS on and off.

Turned socketpooling back off and things go sour again.

It just seems like IIS is completely ignoring the ListenOnlyList. Except when I change the ListenOnlyList to IIS hums along smoothly. I double checked IIS and made the sure the IPs match - they do. Its not on All Unassigned, it is in fact on x.x.x.11. Crazy.

Any ideas?

share|improve this question
up vote 0 down vote accepted

Disabling socket pooling specifically does not work on IIS6. Instead you must change the registry key mentioned, and then do the httpcfg thing.

Assuming you changed the registry key, what is the output of running httpcfg query iplisten ?

share|improve this answer
IP: IP: Also tried removing both and doing just the IP and not the ports, which also didn't work. Output looked like: IP: Still no luck Each time as I made the changes, I went in the registry and confirmed they changed the ListenOnlyList, and they did, then rebooted... – user8167 Jul 9 '09 at 16:02
What service pack level are you on? I think this only works on SP2 or higher. (Check your version of HTTP.sys vs. what is in the KB article) – MattB Jul 9 '09 at 16:08
Yep, we are Windows Server 2003 Std, service pack 2. Look at the versions. Looks like it is properly updated.. http.sys is bigger and lists 2007 as create date (server OS was installed early 2009) – user8167 Jul 9 '09 at 16:27
Weird - but I want to confirm one thing - when you are talking about turning socket pooling on and off, are you talking about the metabase property, or the DisableEndPointSharing regkey? – MattB Jul 9 '09 at 16:43
I ran this command cscript adsutil.vbs set w3svc/disablesocketpooling true Found it here: – user8167 Jul 9 '09 at 16:53

Did you make sure to select only the IP address for the IIS server in the website properties in IIS? You might have "(All Unassigned)" selected. I'm not sure if this will solve your problem, but it's worth checking.

share|improve this answer
I double checked it. Its not All Unassigned. At this point it is acting like it can't even read the ListenOnlyList IPs, unless I manually set it to, where it hums along, but takes the IP Apache needs as well. – user8167 Jul 9 '09 at 16:03
Time to roll a VM! – Russ Warren Jul 9 '09 at 16:15

I have written a blog post that details the steps you use in httpcfg to get this to work:


  • manually create some IP address bindings for IIS (therefore not creating a "catch all" scenario)
  • setup Apache to run on the IP address or port that isn't in the above bindings
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.