Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm using IIS on Windows 7, and I can't get it to bind to the IPv6 equivalent of 0.0.0.0 and 127.0.0.1 ([::] 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 0.0.0.0

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

share|improve this question

2 Answers 2

up vote 2 down vote accepted

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

run netsh as an administrator
http
add iplisten ipaddress=::

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

share|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 0.0.0.0 in ipv4 land –  Matthew Steeples Mar 18 '10 at 19:33

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:

<bindings>
    <binding protocol="http" bindingInformation="[fe80::198e:8552:7c6b:1902]:80:" />
</bindings>
share|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

 
discard

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.