Kostenloses Let’s Encrypt SSL/TLS-Zertifikat auf Windows Server mit IIS installieren
Die Absicherung von Webanwendungen mit HTTPS ist entscheidend, um Daten während der Übertragung zu schützen und das Vertrauen der Nutzer zu stärken. Diese Anleitung zeigt, wie man ein kostenloses Let’s Encrypt SSL/TLS-Zertifikat auf einem Windows Server mit Internet Information Services (IIS) installiert.
Dafür wird der win-acme Client genutzt, um das Zertifikat anzufordern und einzubinden, es in IIS zu verknüpfen und eine automatische HTTPS-Weiterleitung einzurichten. Optional sind auch Anleitungen für Certbot sowie die manuelle Umwandlung in .pfx enthalten, die sich für fortgeschrittene Szenarien eignen.
IIS installieren
IIS ist ein integriertes Feature von Windows Server, das über den Server-Manager aktiviert werden kann.
- Öffne den Server-Manager über das Startmenü.
- Klicke auf Rollen und Features hinzufügen.
- Wähle Rollenbasierte oder featurebasierte Installation und dann deinen Server aus.
- Aktiviere im Bildschirm Serverrollen die Option Webserver (IIS).
- Füge weitere benötigte Features hinzu und klicke auf Installieren.
Nach der Installation lässt sich die Einrichtung testen, indem du die öffentliche Server-IP im Browser aufrufst:
http://YOUR-SERVER-IP
Du solltest die Standard-IIS-Willkommensseite sehen.
Eine einfache Webanwendung erstellen
Um sicherzustellen, dass IIS Inhalte korrekt ausliefert, erstelle eine kleine HTML-Seite:
- Öffne den Datei-Explorer und lege einen Ordner für deine Website an.
- Drücke Win + R, tippe notepad und bestätige mit Enter.
- Füge den folgenden HTML-Code in Notepad ein:
<html>
<head>
<title>Hello World</title>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>
Speichere die Datei als index.html in dem zuvor erstellten Ordner.
Als Nächstes richtest du in IIS ein, dass dieses Verzeichnis deiner Domain zugeordnet wird.
Eine IIS-Website mit deiner Domain einrichten
- Öffne den IIS-Manager über die Windows-Administrations-Tools im Startmenü.
- Erweitere im Verbindungsbereich den Servernamen, klicke mit der rechten Maustaste auf Sites und wähle Website hinzufügen.
Im Fenster Website hinzufügen konfiguriere:
- Site-Name: Ein Name zur internen Identifizierung (z. B. example.com).
- Physischer Pfad: Wähle den zuvor erstellten Ordner aus.
- Bindung:
- Typ: http
- IP-Adresse: Alle nicht zugewiesen (Standard)
- Port: 80
- Hostname: Deine Domain (z. B. example.com)
Klicke auf OK, um die Website zu erstellen und zu starten.
Überprüfe die Einrichtung, indem du im Browser http://example.com
öffnest. Du solltest die „Hello World“-Seite sehen.
Ein Let’s Encrypt Zertifikat anfordern und installieren
Ein kostenloses SSL/TLS-Zertifikat von Let’s Encrypt kann mit folgenden Tools installiert werden:
- Win-acme: Empfohlen für die meisten Nutzer; bindet direkt in IIS ein und erneuert automatisch.
- Certbot: Für fortgeschrittene Anwender; bietet mehr Kontrolle und plattformübergreifende Nutzung.
Mit Win-acme
Win-acme ist ein schlanker Client, der Zertifikate direkt im IIS-Zertifikatsspeicher installiert und HTTPS-Bindungen automatisch einrichtet.
- Lade das aktuelle Win-acme-Archiv herunter.
- Entpacke es und starte wacs.exe als Administrator.
- Erscheint SmartScreen, klicke auf Weitere Informationen > Trotzdem ausführen.
- Drücke N, um ein neues Zertifikat zu erstellen.
- Wähle deine Seite aus der IIS-Domainliste.
- Drücke A, um das Zertifikat auf alle Bindungen anzuwenden.
- Akzeptiere die Standardoptionen (Y zum Fortfahren, den Bedingungen von Let’s Encrypt zustimmen).
- Gib deine E-Mail-Adresse ein, wenn du dazu aufgefordert wirst.
Win-acme übernimmt automatisch:
- Das Anfordern und Installieren des Zertifikats
- Das Speichern im Windows-Zertifikatsspeicher
- Die Bindung an deine IIS-Website
- Die Einrichtung der automatischen Verlängerung
Rufe anschließend https://example.com
im Browser auf, um zu prüfen, ob HTTPS aktiv ist.
Mit Certbot
Certbot ist ein flexibler Client, erfordert aber eine manuelle Zertifikatsbindung in IIS.
Certbot installieren
- Lade Certbot für Windows herunter und führe den Installer aus.
- Öffne PowerShell als Administrator und führe folgenden Befehl aus:
certbot -d example.com -m admin@example.com --agree-tos --webroot
Gib bei Aufforderung das Verzeichnis deiner Website an. Die Zertifikate werden als .pem
-Dateien gespeichert in:
C:\Certbot\live\example.com\
Umwandlung in .pfx mit OpenSSL
- Installiere OpenSSL für Windows.
- Öffne PowerShell und navigiere in das bin-Verzeichnis von OpenSSL:
cd "C:\Program Files\OpenSSL-Win64\bin"
Wandle dein Zertifikat ins .pfx
-Format um:
.\openssl.exe pkcs12 -export `
-out C:\Certbot\live\example.com\certificate.pfx `
-inkey C:\Certbot\live\example.com\privkey.pem `
-in C:\Certbot\live\example.com\fullchain.pem
Zertifikat importieren und binden
- Öffne den IIS-Manager.
- Wähle deinen Server und öffne Serverzertifikate.
- Klicke auf Importieren, wähle deine
.pfx
-Datei, gib das Passwort ein und bestätige. - Gehe zu Sites, wähle deine Domain und klicke auf Bindings.
- Klicke auf Hinzufügen, wähle https und konfiguriere:
- Port: 443
- Hostname: example.com
- Zertifikat: Aus Dropdown auswählen
- Server Name Indication (SNI) erforderlich aktivieren
Klicke auf OK, um die Bindung zu übernehmen. Öffne https://example.com
, um zu prüfen, ob das Zertifikat aktiv ist.
HTTP-Anfragen auf HTTPS umleiten
Mit dem IIS URL Rewrite Modul lassen sich alle HTTP-Anfragen automatisch auf HTTPS umleiten.
Das URL Rewrite Modul installieren
- Lade das URL Rewrite Modul herunter.
- Starte das Installationsprogramm und schließe die Einrichtung ab.
- Öffne den IIS-Manager, wähle deinen Server und überprüfe, ob URL Rewrite in der Feature-Ansicht sichtbar ist.
Eine Umleitungsregel in IIS erstellen
- Im IIS-Manager: Erweitere den Server und wähle deine Website unter Sites.
- Doppelklicke auf URL Rewrite.
- Klicke im Aktionsbereich auf Regeln hinzufügen.
- Wähle unter Eingehende Regeln Leere Regel und bestätige mit OK.
- Vergib einen Namen (z. B. Redirect to HTTPS).
- Lass Angeforderte URL auf Muster entspricht, mit Regulären Ausdrücken.
- Setze das Muster auf:
(.*)
Deaktiviere Groß-/Kleinschreibung ignorieren.
Eine Bedingung hinzufügen
- Erweitere Bedingungen und klicke auf Hinzufügen.
- Setze Bedingungseingabe auf:
{HTTPS}
- Lass Überprüfen, ob Eingabezeichenfolge auf Muster entspricht.
- Setze das Muster auf:
^OFF$
Klicke auf OK.
Umleitungsaktion definieren
- Scrolle zu den Aktionseinstellungen und konfiguriere:
- Aktionstyp: Redirect
- Umleitungs-URL:
https://{HTTP_HOST}{REQUEST_URI}
- Deaktiviere Abfragezeichenfolge anhängen
- Setze Umleitungstyp auf Dauerhaft (301)
Klicke im Aktionsbereich auf Übernehmen.
Die Umleitung testen
Öffne deinen Browser und gehe zu:
http://example.com
Du solltest automatisch auf die HTTPS-Version umgeleitet werden.
Falls die Weiterleitung nicht funktioniert, überprüfe, ob im Stammverzeichnis deiner Website eine web.config
-Datei existiert. Falls nicht, erstelle eine mit folgendem Inhalt:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="false" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Speichere die Datei und teste die Weiterleitung erneut im Browser.
Fazit
In diesem Tutorial hast du gelernt, wie man eine Website auf Internet Information Services (IIS) mit einem kostenlosen Let’s Encrypt SSL/TLS-Zertifikat unter Windows Server absichert. Du hast IIS eingerichtet, eine einfache Webanwendung erstellt, das Zertifikat entweder mit win-acme oder Certbot installiert, HTTPS-Bindungen konfiguriert und den HTTP-Traffic auf HTTPS umgeleitet.
Mit einem korrekt eingerichteten SSL ist dein Server nun bereit für sicheres Webhosting. Als Erweiterung kannst du WordPress auf IIS installieren oder den PHP Manager nutzen, um dynamische Webanwendungen zu betreiben.