IIS 5 en 6 - SSL Host Headers

Deze handleiding is voor IIS 5 en 6. Voor IIS 7 en 8 is een andere handleiding beschikbaar.

Achter de schermen

Een website in IIS is gekoppeld aan een IP-adres, poortnummer en Host Header-naam. Elke website-configuratie wordt opgeslagen in de metabase-eigenschap ServerBindings, in het formaat: IP:Poort:Hostnaam.

Bijvoorbeeld: 94.228.131.81:80:www.sslcertificaten.nl.

De Host Header-naam (www.sslcertificaten.nl in het voorbeeld) en IP (94.228.131.81 in het voorbeeld) mogen weggelaten worden.Het poortnummer volstaat.

Om te bepalen welke website een verzoek moet behandelen, controleert IIS:

  • Of er op het IP-adres/poortnummer waar een aanvraag binnenkomt een website is geconfigureerd. Deze moet ook overeenkomen met de Host-Header waarde uit het verstuurde HTTP-bericht. Als er een overeenkomstige website wordt gevonden, wordt het verzoek doorgestuurd naar die website.
  • Als er geen website een exacte match met de Host-Header heeft, controleert IIS of er een website geconfigureerd is om alle IP-adressen (in IIS-beheer aangegeven met 'Alle niet toegewezen') en de poort in de gaten te houden, waarop de aanvraag is binnengekomen met een geconfigureerde Host Header-naam. De Host Header-naam controleert of overeenkomt wat wordt verzonden in het HTTP-bericht en als er een overeenkomst wordt gevonden stuurt IIS het verzoek naar die website.
  • In de laatste stap controleert IIS of er een website met een lege Host Header is geconfigureerd in IIS, die vervolgens de aanvraag zal verwerken.


SSL Host Headers in IIS 5 en 6

Met SSL Host Headers kunt u één SSL certificaat voor meerdere IIS-websites op hetzelfde IP-adres gebruiken. Via de IIS Manager interface is het standaard mogelijk om per IP-adres één website te verbinden aan poort 443 en een SSL certificaat. Als u probeert om een tweede website te verbinden op het IP-adres aan hetzelfde certificaat zal IIS de foutmelding geven dat er een poortconflict is, zodra u de website start. Om toch een certificaat toe te wijzen aan meerdere websites op hetzelfde IP-adres dient u SSL Host Headers in te stellen. Met de onderstaande instructies kunt u dit instellen. Meer informatie over Host Headers in IIS.


Welk type SSL certificaat heeft u nodig?

Omdat u maar één certificaat kunt gebruiken zult u alle host names van de websites die u wilt beveiligen, op moeten nemen in het certificaat. Anders krijgt u een 'name mismatch' foutmelding.

  • Als elk van uw IIS websites een subdomein gebruikt van een enkele domeinnaam, dan kunt u een wildcard certificaat voor *.uwdomein.nl aanvragen en hiermee de domeinnamen site1.uwdomein.nl, site2.uwdomein.nl, etc. beveiligen.
  • Als uw IIS websites verschillende domeinnamen hebben (mail.uwdomein.nl, mail.uwdomein2.com, etc.), kunt u een multi-domeinnaam certificaat aanvragen.
  • Vraag een SSL certificaat aan en installeer deze in IIS. Handleidingen zijn hier te vinden.


Instellen SSL Host Headers

Met de volgende stap wordt de IIS metabase geconfigureerd. De SecureBindings instelling voorkomt ongeautoriseerd gebruik van het certificaat. Om dit te configureren moet het volgende commando worden uitgevoerd voor elke website: <code>cscript.exe adsutil.vbs set /w3svc/{site identifier}/SecureBindings ":443:{host header}"</code>

Let op:
Vervang {host header} door de domeinnaam van de site, bijvoorbeeld webmail.sslcertificaten.nl. Vervang tevens {site identifier} door de Identifier van de betreffende site:

IIS 5 en 6 - SSL Host Headers

Daarnaast moet worden ingesteld dat alle websites SSL vereisen: cscript.exe adsutil.vbs set /w3svc/{site identifier}/AccessSSL TRUE

Let op:
vervang {site identifier} wederom door de Identifier zoals bekend binnen IIS. Dit commando moet eenmaal worden uitgevoerd voor elke site.

Komt u er niet uit? Neem dan contact met ons op, we helpen u graag.

point up