IIS 7 - Multiple Websites med et IP
Sådan kører du flere HTTPS-websites på en IP-adresse med SNI i IIS 7 og nyere.
IIS 7/7.5 (EOL 2016)
Produkter der ikke længere modtager opdateringer.
Oversigt
Traditionelt krævede hvert SSL-certifikat sin egen IP-adresse, fordi SSL-handshake sker før HTTP Host-headeren sendes. Server Name Indication (SNI) løser dette problem ved at sende hostnavnet som del af TLS-handshake, så serveren kan vælge det rigtige certifikat uden en unik IP per domæne.
Denne guide viser hvordan du konfigurerer flere HTTPS-websites på den samme IP-adresse i IIS.
Forudsætninger
- Windows Server 2012 eller nyere med IIS 8.0+ (fuld SNI-support). IIS 7/7.5 på Windows Server 2008 har ikke native SNI-support.
- Separate SSL-certifikater for hvert domæne, eller et SAN/Wildcard-certifikat der dækker alle domæner.
- Administratoradgang til serveren.

Trin 1: Forstå SNI (Server Name Indication)
SNI er en TLS-udvidelse (RFC 6066) der tillader klienten at angive hvilken hostname den forsøger at forbinde til under TLS-handshake. Alle moderne browsere og operativsystemer understøtter SNI:
- Alle versioner af Chrome, Firefox, Edge, Safari (fra ca. 2010+)
- Android 4.0+, iOS 4+
- Windows XP med IE 8+ understøtter SNI (men XP er EOL)
Den eneste undtagelse er meget gamle klienter (Internet Explorer 6, Windows XP med IE 7 eller ældre), som ikke sender SNI. Hvis du stadig skal understøtte disse, skal du bruge separate IP-adresser.
Trin 2: Importer certifikater for alle domæner
For hvert domæne du vil hoste med HTTPS, skal du have et gyldigt certifikat installeret på serveren:
- Åbn IIS Manager → klik på servernavnet → Server Certificates.
- Importer hvert certifikat via Complete Certificate Request (hvis du har oprettet CSR på serveren) eller Import (hvis du har en PFX-fil).
- Giv hvert certifikat et unikt og beskrivende Friendly name (fx
site-a.dk 2026,site-b.dk 2026).

Alternativ: Brug et SAN-certifikat (Subject Alternative Name) eller Wildcard-certifikat der dækker alle domæner. Så behøver du kun et certifikat.

Trin 3: Opret HTTPS-bindinger med SNI
For hvert website:
- Vælg websitet i IIS Manager → klik Bindings i højre panel.
- Klik Add og vælg:
- Type: https
- IP address: All Unassigned (eller den delte IP)
- Port: 443
- Host name: Det fulde domænenavn (fx
site-a.dk
)
- Marker Require Server Name Indication
- SSL certificate: Vælg det korrekte certifikat for dette domæne



- Klik OK.
- Gentag for hvert website med dets eget hostnavn og certifikat.


Trin 4: Konfiguration via kommandolinjen (avanceret)
Du kan også konfigurere SNI-bindinger via appcmd

:: Tilfoej HTTPS-binding med SNI for site-a.dk appcmd set site /site.name:"SiteA" /+bindings.[protocol='https',bindingInformation='*:443:site-a.dk',sslFlags='1'] :: Tilfoej HTTPS-binding med SNI for site-b.dk appcmd set site /site.name:"SiteB" /+bindings.[protocol='https',bindingInformation='*:443:site-b.dk',sslFlags='1'] :: Vis alle bindinger appcmd list site
Værdien sslFlags='1' aktiverer SNI. Værdien 0 kræver unik IP.
Trin 5: Verificer og test
- Åbn hvert domæne i en browser og bekræft at det korrekte certifikat vises.
- Brug OpenSSL til at teste SNI fra kommandolinjen:

:: Test at serveren returnerer det rigtige certifikat for hvert domæne
openssl s_client -connect din-server-ip:443 -servername site-a.dk
openssl s_client -connect din-server-ip:443 -servername site-b.dkTrin 6: Typiske faldgruber
- Forkert certifikat vises: Kontroller at Host name er korrekt i bindingen, og at SNI er aktiveret.
- "Require Server Name Indication" mangler: Du kører IIS 7 eller 7.5, som ikke understøtter SNI nativt. Opgrader til IIS 8+ eller brug separate IP-adresser.
- Wildcard + specifikt certifikat: Hvis du har både
*.eksempel.dk
og
www.eksempel.dk, prioriterer IIS det mest specifikke match. - Default site: Et af dine sites bør have en binding uden SNI-krav, så det fungerer som fallback for klienter uden SNI-support.

Styrk din TLS-sikkerhed
Brug IIS Crypto til nemt at konfigurere sikre TLS-protokoller og cipher suites på din Windows Server.
IIS Crypto TLS konfigurationsguide