By default IIS binds (listens) to all IP addresses assigned to the server it's running on. This is problematic when you'd like one or more of the IP addresses to be used by another application, such as a Ruby on Rails app running on Apache or, in my case, Mingle. In these instances, it is desirable for IIS to bind to only one or more specific IP addresses while allowing the others to be free for use by other services. To do so, you must explictly set IIS to listen on the IP address(es); doing so will automatically free all other IP addresses for other uses. To explicitly add an IP address to the IIS IP Listen list:
-
Ensure that you have the
HttpCfg.exe utility installed onto the server. If you're running Windows Server 2003, it'll automatically be available, but if you're running Windows XP you can download HttpCfg.exe as part of the
Windows XP Service Pack 2 Support Tools.
-
Open a command prompt and type the following, replacing ###.###.###.### with the IP address you'd like to add to the IIS IP Listen list:
httpcfg set iplisten -i ###.###.###.###
-
Upon success, it'll return the following confirmation: HttpSetServiceConfiguration completed with 0.
-
Restart the HTTP service.
After restarting the HTTP service, IIS will only bind to the IP address added to the IP Listen list. You can use the HttpCfg utility to inform IIS to listen to more than one IP address as well. If you want to see all IP addresses that IIS is listening to, simply run "httpcfg query iplisten" in a command prompt.
Billy McCafferty