I'm using IIS on Windows 7, and I can't get it to bind to the IPv6 equivalent of and ([::] and [::1])

The first one gives me an error when trying to start the service that says

The World Wide Web Publishing Service (WWW Service) did not register the URL 
prefix http://[::]:80/ for site 1. The site has been disabled. The data field
contains the error number.

The second one doesn't give any errors but doesn't listen on anything apart from

The bindings dropdown only has my teredo address (2001::) listed, and not my link local (fe80::) one.


OK... for some reason I needed to use the netsh tool.

run netsh as an administrator
add iplisten ipaddress=::

That enabled IIS to listen on IPv4 and IPv6 while leaving the settings inside IIS to listen on "all interfaces".

| improve this answer | |
  • By adding iplisten you have restricted yourself to let IIS to listen on that IP. So if tomorrow your IP Address changes, your Web site is broken. By default, you will get a temporary IPv6 from DC if you have DHCP enabled. You will need to use the fe80... as stated earlier to get IIS to listen on IPv6 and not IPv4 i.e. you are "binding IIS on IPv6". – Vivek Kumbhar Mar 18 '10 at 18:39
  • 1
    That would be the case if I had specified an IP address, but leaving it as :: means listen on all interfaces no matter what their address is, as long as they have ipv6 enabled. It is the equivalent of in ipv4 land – Matthew Steeples Mar 18 '10 at 19:33
  • Worth noting that if you don't already have specific IPv4 address setup in iplisten, you may also have to run add iplisten That is, setting iplisten for IPv6 will cut off IPv4 unless IPv4 listeners are also explicitly set. – Stephen R Oct 31 '17 at 20:20

Here's what I did on my machine:

  1. Open a command prompt and type ipconfig
  2. Look for an Link-local IPv6 Address e.g.: fe80::198e:8552:7c6b:1902%10
  3. In IIS Manager, under Bindings... -> select http and click Edit...
  4. IP address type: fe80::198e:8552:7c6b:1902, if you give fe80::198e:8552:7c6b:1902%10, you will get an error "Value does not fall within the expected range."

Browse the Web site, this will work. If you want it to be accessed from across the network with IPv6 enabled client, make sure to get a static IPv6 address and make a DNS entry for the same.

applicationhost.config entry:

    <binding protocol="http" bindingInformation="[fe80::198e:8552:7c6b:1902]:80:" />
| improve this answer | |
  • I'd already tried that, but I found the solution to it in the end. See my answer. Thanks for your help. – Matthew Steeples Mar 18 '10 at 18:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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