Hoe u gratis Let’s Encrypt TLS (SSL)-certificaten instelt op een Windows-server

Het instellen van Let’s Encrypt-certificaten op Windows kan een behoorlijke klus zijn, vooral als je wilt dat het bijna automatisch gebeurt. De grootste problemen zijn vaak het aanvragen van het certificaat, het correct koppelen ervan in IIS en het vervolgens verlengen ervan zonder al te veel handmatige handelingen. Want, zoals het hoort, maakt Windows het ingewikkelder dan nodig. Deze handleiding is bedoeld om een ​​deel van die rommel op te ruimen en het gebruikelijke proces stap voor stap te doorlopen, met tal van aanpassingen en tips gebaseerd op praktijkervaring.

Hoe genereer en installeer je een Let’s Encrypt-certificaat op Windows IIS?

Gebruik WACS (Windows ACME Simple) voor automatisering.

  • Download eerst de nieuwste versie van de WACS-client van GitHub. Zoek naar het meest recente zip-bestand, bijvoorbeeld win-acme.v2.2.9.1701.x64.pluggable.zip. Pak het uit op een toegankelijke locatie — ik plaats het meestal direct in de map Program Files of een aparte map voor het gemak.
  • Voer het programma uit wacs.exeals beheerder. Dit is waarschijnlijk nodig omdat WACS de systeemcertificaten moet configureren en SSL-certificaten in IIS moet koppelen.
  • Zorg ervoor dat uw server. NET Framework 4.7.2 of hoger heeft geïnstalleerd. Soms geeft WACS problemen als dit ontbreekt. U kunt het downloaden van de Microsoft-website.
  • De wizard start en vraagt ​​wat u wilt doen. Voor een snelle installatie kiest u N: — Certificaat maken (standaardinstellingen). Soms krijgt u bij een nieuwe installatie of met ongebruikelijke IIS-configuraties een bericht zoals ‘geen websites gevonden’.Ik weet niet zeker waarom dit gebeurt — misschien heeft IIS niet alle sites geregistreerd, of zijn de hostbindingen verbroken. Als dit gebeurt, opent u IIS Manager ( inetmgr ), controleert u uw sitebindingen en zorgt u ervoor dat de site een hostnaam heeft ingesteld. Het klinkt misschien voor de hand liggend, maar ik heb dit al vaker zien gebeuren.
  • Selecteer vervolgens uw sitenummer (of sitenaam) uit de lijst, druk op om alle bindingen te selecteren Aen bevestig met Y.
  • Je wordt gevraagd de voorwaarden van Let’s Encrypt te accepteren — doe dat.
  • Voer vervolgens uw e-mailadres in. Dit is belangrijk voor verlengingsmeldingen. Als u meerdere domeinen beheert, scheidt u de e-mailadressen met komma’s.
  • Nu het cruciale onderdeel: validatie. Standaard is HTTP-01, wat WACS uitvoert door een kleine webserver op poort 80 te starten. Zorg ervoor dat poort 80 openstaat in uw firewall – geen uitzonderingen als u wilt dat dit gewoon werkt. Als u poort 80 niet kunt gebruiken, is DNS-validatie een optie ( alle opties in WACS).
  • WACS genereert en haalt het certificaat op, installeert het in de systeemcertificaatopslag en koppelt het aan IIS – handig. De certificaatbestanden (meestal *.pem en *.pfx ) worden veilig opgeslagen in C:\ProgramData\win-acme\acme-v02.api.letsencrypt.org\Certificates.

Pro-tip: als WACS aangeeft dat er geen websites worden gevonden, controleer dan de IIS-bindingen. Het is meestal een probleem met de hostnaam of de binding. Soms helpt het om IIS opnieuw op te starten ( iisreset) als de sites na de wijzigingen nog steeds niet worden gevonden.

Hoe vernieuwing in de praktijk werkt — en waarom het belangrijk is

  • Let’s Encrypt-certificaten zijn 90 dagen geldig, maar WACS stelt een geplande taak ( win-acme renew ) in die dagelijks wordt uitgevoerd om te controleren of verlenging nodig is.
  • Het vernieuwingscommando ziet er als volgt uit wacs.exe --renew --baseuri "https://acme-v02.api.letsencrypt.org/":.Het is automatisch, maar zorg ervoor dat deze taak niet is uitgeschakeld. In sommige configuraties heeft de Taakplanner van Windows een herinnering nodig.
  • Tip: controleer de taakeigenschappen als de verlenging niet plaatsvindt. Op sommige servers kan de verlenging ook mislukken als poort 80 geblokkeerd is of als IIS de poort niet tijdig vrijgeeft. In die gevallen kan de verlenging worden overgeslagen of moet deze handmatig worden gestart.

HTTP omleiden naar HTTPS — Naadloos laten verlopen

Zodra het certificaat is geïnstalleerd, is het belangrijk om gebruikers niet langer via HTTP te laten lopen – dat leidt gegarandeerd tot problemen. Gebruik de URL Rewrite Module in IIS om al het HTTP-verkeer naar HTTPS door te sturen. Dit doe je door een eenvoudige regel aan te maken die inkomende verzoeken op poort 80 matcht en doorstuurt naar poort 443. Er zijn talloze handleidingen beschikbaar, maar het is de moeite waard om dit te doen, omdat verouderde HTTP-verbindingen er onveilig uitzien en gebruikers in verwarring brengen.

Let’s Encrypt gebruiken voor RDS Gateway en webtoegang

Als je RDS gebruikt, is het instellen van een vertrouwd certificaat wat extra werk, maar het is zeker mogelijk. Geef het certificaat voor je RDS-webinterface uit met WACS en exporteer en koppel het vervolgens handmatig in de RDS-configuratie. Meestal exporteer je een .pfx- bestand en voeg je dit handmatig toe via de RDS-tools. Nog beter is het om de import te automatiseren met PowerShell-scripts, zoals die in de GitHub-repository. Maar let op: je moet de vingerafdruk periodiek bijwerken of dit proces automatiseren, aangezien het certificaat elke 60-90 dagen verandert.

In sommige gevallen Restart-Service TSGatewaykan het automatiseren van de import en het herstarten van RDS-services (zoals ) direct na de verlenging veel gedoe voorkomen. Zorg er wel voor dat uw geplande taak dit automatisch afhandelt; anders zal de RDS-verbinding een duidelijke foutmelding geven: “ongeldig certificaat”.

Dit klinkt allemaal een beetje ingewikkeld, maar als het eenmaal is ingesteld, is het vooral een kwestie van controleren of de verlenging soepel verloopt. Ik heb configuraties gezien waarbij een simpele geplande taak het certificaatprobleem definitief oplost, en andere waarbij netwerk- of IIS-problemen roet in het eten gooien. Ik weet niet zeker waarom het soms wel werkt – in sommige omgevingen werkt het gewoon, in andere niet.

Ik hoop dat dit iemand urenlang gedoe bespaart. Vergeet niet om poort 80 open te houden en je vernieuwingslogboeken in de gaten te houden – dat heeft mij al meer dan eens gered, wat best wel bevredigend was.

Samenvatting

  • Download en voer WACS uit als beheerder, selecteer uw IIS-site en doorloop de wizard.
  • Zorg ervoor dat poort 80 openstaat voor HTTP-validatie.
  • Certificaten worden in een map opgeslagen Certificates; controleer de IIS-koppeling online.
  • Controleer de geplande verlengingstaak en test de verlenging soms handmatig.
  • Voor RDS kunt u scripts gebruiken om certificaten te importeren en services automatisch opnieuw op te starten.

Samenvatting

Let’s Encrypt op Windows installeren is niet bepaald een fluitje van een cent, maar met WACS is het ook weer niet zo moeilijk. De grootste uitdaging is de initiële installatie en ervoor zorgen dat poort 80/443 toegankelijk en correct geconfigureerd zijn. Als dat eenmaal is gebeurd, werkt het grotendeels vanzelf – totdat het een keer niet werkt. In dat geval is het een kwestie van een handmatige verlenging uitvoeren of firewallproblemen oplossen. Hopelijk scheelt dit iemand een paar uur aan probleemoplossing.