When you start Internet Information Services (IIS) 6.0 on
Microsoft Windows Server 2003, IIS binds to all IP addresses on the server, not
just the IP addresses that are assigned to Web sites. This may be true even
though you have set the metabase property DisableSocketPooling
To successfully allow applications to use the same port on
different IP addresses, you must use a new utility, Httpcfg.exe. Httpcfg.exe is
located on the Windows Server 2003 CD in the Support\Tools directory as part of
the Support.cab file.
behavior is by design.
IIS 5.0 uses the metabase property DisableSocketPooling
to allow applications access to the same port over different IP
addresses. Setting this value to True permits these applications to exist on
the same Microsoft Windows 2000 installation.
is defined as a valid property in the IIS 6.0 metabase schema
(MBSchema.xml), you can still set this property by using Adsutil.vbs, but this
has no effect. The functionality in IIS 6.0 is part of the new kernel level
driver HTTP.sys. To configure HTTP.sys, you must use Httpcfg.exe.
IIS 5.0, the TCP listener is Winsock. Winsock uses sockets and IIS is bound to
the performance and scalability of the Winsock API. Socket pooling was
introduced to address problems in Internet Information Server (IIS) 4.0 where
resource usage was high with many Web sites using individual IP
To solve this scalability problem, IIS 5.0 uses socket
pooling to allow resources to be shared. Socket pooling permits double or
triple the number of sites to be run on a specific server with unique IP
addresses. The DisableSocketPooling
property is also introduced in IIS 5.0 and is used when another
application is installed that requires use of a port that IIS listens on by
default (such as port 80).
In IIS 6.0, HTTP.sys is the TCP listener
and HTTP.sys does not use the Winsock API. Sockets are not a configurable
property. HTTP.sys uses an IP inclusion list. By default, this list is blank
and IIS listens on all IP addresses. You can specify the IP addresses IIS will
listen on by adding them to the IP inclusion list. Important
The IP inclusion list is read during startup of the HTTP service.
If you change the list, you must restart the service.Note
The HTTP service and the HTTP SSL service are different services. The HTTP service does not appear in the services list and must be restarted at a command prompt. To do this, follow these steps:
- Click Start, click Run,
and then type cmd to open a command prompt. At the
command prompt, type net stop http /y and press ENTER.
This stops the HTTP Secure Sockets Layer (SSL) service and the World Wide Web
publishing services because they are dependent on the HTTP service.
- To start the HTTP service, type net start
w3svc at the command prompt. This starts the HTTP SSL service and
the HTTP service.
After you add IP addresses to the IP inclusion list, you must
add each IP address that is used by a Web site. If you bind a Web site to an IP
address that is not on the list, the Web site does not start.
For help with
using this command, see the Httpcfg online help. To access the Httpcfg online
help, type Httpcfg /?
at a command prompt, or follow
- Click Start.
- Click All Programs.
- Click Windows Support Tools.
- Click Support Tools Help.
- Click H under Alphabetical List of
Tools by File Name.
- Double-click Httpcfg.exe ( HTTP Configuration
For more information about
DisableSocketPooling, click the following article number to view the article in the Microsoft Knowledge Base:
How to disable socket pooling