Ramon de Klein
Ramon de Klein

Reputation: 5706

Bind IIS to selected IP and port combinations

I have a problem configuring IIS for my needs. Let's start with the situation that I have:

  1. Application listening on IP address A.A.A.A on port 443.
  2. IIS website listening on IP address A.A.A.A on port 80.
  3. IIS website listening on IP address B.B.B.B on port 443.

My machine is configured to have two IP addresses A.A.A.A en B.B.B.B. My application only binds to the A.A.A.A:443 endpoint. I want that IIS only uses A.A.A.A:80 and B.B.B.B:443. The site binding are correct, but IIS still binds to both A.A.A.A:80, A.A.A.A:443, B.B.B.B:80 and B.B.B.B:443. Because it binds to A.A.A.A:443 my own application cannot listen to it anymore and fails to start.

I have tried to use the netsh http add listener, but I cannot restrict IIS to use specific IP/port combinations. I can only specify IP addresses, so it will still bind to A.A.A.A:443.

Does anyone know a solution? I think it's kind of crazy that IIS binds to all available IP addresses even when I set the site binding to only a single IP address.

Upvotes: 1

Views: 4300

Answers (2)

Mastro
Mastro

Reputation: 1497

This can be done with netsh, see the instructions here http://support.microsoft.com/kb/954874

You can tell IIS which IP address to bind too.

Upvotes: 2

Brian
Brian

Reputation: 21

It is not IIS that is listening to the IP. It is the HTTP driver which is utilized by many services, not just IIS. Unfortunately the only to accomplish what you want is for the application outside of IIS to utilize the HTTP driver. I believe this easiest way is to use WCF.

See Exposing WCF Services Via HTTP when not hosted in IIS

Upvotes: 2

Related Questions