Je bepaalt welke diensten wij mogen inschakelen voor analyse, personalisatie en externe inhoud.
We gebruiken cookies en vergelijkbare technologieën op onze website om inhoud te personaliseren, externe media te integreren en het gebruik van afzonderlijke onderdelen beter te begrijpen.
Noodzakelijke cookies
Deze vermeldingen waarborgen basisfuncties zoals beveiliging, stabiliteit en formulierverwerking.
Optionele secties
AnalysesMarketingPersonalisatieExterne media
Gegevensverwerking kan plaatsvinden met je toestemming of op basis van gerechtvaardigde belangen. In de cookie-instellingen kun je elke optionele categorie weigeren of afzonderlijk toestaan.
Sommige diensten verwerken persoonsgegevens in derde landen. Met je toestemming accepteer je ook deze doorgifte. Meer informatie vind je in onze privacyverklaring.
Je kunt je selectie later op elk moment opnieuw openen en aanpassen. · 1.0.2
VPS: SSL-certificaat aanmaken (Let's Encrypt) voor Linux-server
Ontdek hoe je je website beveiligt met gratis SSL-certificaten via Certbot en Let's Encrypt voor een veilige gegevensoverdracht → Lees meer
10 november 20266 min leestijd2 Weergaven0 nuttig
Inleiding
SSL-certificaten zijn een essentieel onderdeel van het internet en zorgen ervoor dat gegevens veilig tussen client en host kunnen worden uitgewisseld. In deze handleiding laten we zien hoe je de opensourcetool Certbot instelt om gratis SSL-certificaten aan te vragen bij de non-profitcertificaatautoriteit Let's Encrypt.
FAQ
Veelgestelde vragen
Een Linux-server, een domein waarvan je eigenaar bent en toegang tot de DNS-instellingen. Voor elk hoofd- of subdomein dat je wilt gebruiken, heb je een A-DNS-record nodig dat verwijst naar het IP-adres van je Linux-server.
Voer de opdracht 'sudo apt install certbot' uit.
De standaardmethode HTTP-01, omdat hiermee automatische verlenging mogelijk is. De handmatige DNS-01-methode via een TXT-DNS-record is een alternatief, maar ondersteunt geen automatische verlenging.
Ja. Met de aanvullende Certbot-plug-ins voor Nginx of Apache kun je met één klik een certificaat instellen.
Feedback
Was dit artikel nuttig?
Je feedback helpt ons inhoud beter te prioriteren en te verbeteren.
0 van 0 Gebruikers vonden dit artikel nuttig.
Persoonlijke hulp
Is de handleiding niet voldoende?
Onze ZAP-support kent je product — beschrijf kort je vraag en wij helpen je persoonlijk verder.
Zappy kent deze handleiding en antwoordt je direct in de chat.
Navigatie
VPS
Voorbereiding
Om Certbot te kunnen gebruiken, heb je een Linux-server en een domein nodig waarvan je eigenaar bent. Je moet toegang hebben tot de DNS-instellingen van het domein en voor elk hoofddomein of subdomein dat je wilt gebruiken een A-DNS-record aanmaken dat verwijst naar het IP-adres van je Linux-server.
Certbot biedt ook aanvullende plug-ins waarmee je met één klik een certificaat voor een domein kunt instellen. Deze zijn compatibel met verschillende webservers, zoals Nginx of Apache. We raden Nginx aan, omdat het een snelle en populaire opensourcewebserver is. Je vindt hulp bij de installatie in onze handleiding Linux Reverse Proxy.
Installatie
Begin met het installeren van het opensourcepakket Certbot, waarmee je gratis SSL-certificaten kunt aanvragen bij Let's Encrypt.
Code
sudo apt install certbot
Nadat Certbot is geïnstalleerd, kun je certificaten aanvragen voor je domein(en). Let's Encrypt en Certbot bieden verschillende ACME-challenges om te controleren of je eigenaar bent van het domein.
We raden de standaardmethode HTTP-01 sterk aan, omdat hiermee automatische verlenging mogelijk is. Als je hier problemen mee ondervindt, kun je als alternatief de handmatige methode DNS-01 gebruiken. Deze werkt via een TXT-DNS-record, maar biedt geen ondersteuning voor automatische verlenging.
Tip
Gebruik webserverplug-ins
Als je een webserver zoals Nginx, Apache of een eigen webserver gebruikt, raden we je aan direct naar het gedeelte Webserverplug-ins verderop te gaan. Daar leggen we uit hoe je aanvullende Certbot-plug-ins voor deze webservers gebruikt om de installatie met één klik uit te voeren en certificaten aan te vragen zonder de webserver te stoppen.
HTTP-01-challenge
Als Certbot is geïnstalleerd, kun je nu certificaten aanvragen voor je domein(en). In dit voorbeeld gebruiken we de standalone-modus, waarbij Certbot een tijdelijke webserver start om de challenge uit te voeren. Hiervoor moet je poort 80 openen in je firewall en mag er geen andere webserver of service op poort 80 actief zijn. Zo kan de tijdelijke webserver starten en kan de challenge worden opgehaald (vandaar de naam HTTP van de challenge).
In de volgende opdracht gebruik je de parameter --standalone om Certbot te laten weten dat de tijdelijke webserver moet worden gebruikt.
Nadat je de opdracht hebt uitgevoerd, word je mogelijk door een eerste interactieve configuratie geleid. Je moet dan een e-mailadres opgeven voor communicatie over het certificaat, waarna je eventueel kunt kiezen voor een mailinglijst en akkoord moet gaan met de algemene voorwaarden.
Certbot genereert nu een ACME-challenge en host deze via de tijdelijke webserver. De servers van Let's Encrypt proberen deze vervolgens van je server op te halen. Als dat lukt, worden de certificaten aangemaakt en opgeslagen in de map /etc/letsencrypt/live/[deine_domain].
Je kunt de SSL-certificaten nu overal gebruiken waar je ze nodig hebt. Je hoeft alleen het lokale pad naar de certificaten op te geven.
TXT-DNS-record
Als je problemen ondervindt bij het verifiëren van je domein via de methode HTTP-01, kun je als alternatief de methode DNS-01 gebruiken. Hierbij maak je een TXT-DNS-record aan met een waarde die door Let's Encrypt wordt opgegeven.
Zoals eerder vermeld, biedt deze methode geen ondersteuning voor automatische verlenging, tenzij je hiervoor je eigen infrastructuur opzet. Daarom raden we aan om waar mogelijk de methode HTTP-01 te gebruiken.
In de volgende opdracht gebruik je de parameter --preferred-challenges om Certbot te laten weten dat je de methode DNS-01 wilt gebruiken.
Nadat je de opdracht hebt uitgevoerd, word je mogelijk door een eerste interactieve configuratie geleid. Je moet dan een e-mailadres opgeven voor communicatie over het certificaat, waarna je eventueel kunt kiezen voor een mailinglijst en akkoord moet gaan met de algemene voorwaarden.
Certbot geeft je nu instructies voor het aanmaken van een TXT-DNS-record met een specifieke waarde. De recordnaam is meestal _acme-challenge. gevolgd door je domein (bijvoorbeeld _acme-challenge.zapdocs.example.com). De waarde vind je in de console.
Nadat je het record hebt aangemaakt, druk je op Enter om verder te gaan. Als alles correct is en het record is verspreid, worden de certificaten aangemaakt en opgeslagen in de map /etc/letsencrypt/live/[deine_domain].
Info
Heb geduld, want het kan even duren voordat DNS-wijzigingen zijn verspreid. Meestal duurt dit maar een paar minuten, maar in uitzonderlijke gevallen kan het langer duren.
Je kunt de SSL-certificaten nu overal gebruiken waar je ze nodig hebt. Je hoeft alleen het lokale pad naar de certificaten op te geven.
Automatische verlenging
In de meeste gevallen stelt Certbot automatische verlenging van de certificaten voor je in via een cronjob en/of een systemd-timer. Je kunt dit testen met de volgende opdracht, die met --dry-run een proefdraai uitvoert.
Code
certbot renew --dry-run
Tip
Zoals eerder vermeld, biedt de methode DNS-01 geen ondersteuning voor automatische verlenging via Certbot, tenzij je hiervoor je eigen infrastructuur opzet. Daarom raden we aan om waar mogelijk de methode HTTP-01 te gebruiken.
De test zou moeten slagen als alles correct is ingesteld. Als je de automatische verlenging wilt bekijken of aanpassen, vind je de betreffende opdracht in een van de volgende mappen: /etc/crontab/, /etc/cron.*/* of via systemctl list-timers.
Cronjob handmatig instellen
Als automatische verlenging niet is ingesteld, kun je deze zelf toevoegen met een cronjob. Open de crontab met crontab -e. Als je dit voor het eerst doet, wordt je gevraagd een editor te kiezen. Kies de eerste optie, meestal /bin/nano.
Voeg in Nano de volgende regel toe om de verlenging dagelijks om 6 uur 's ochtends uit te voeren volgens de lokale tijd.
Code
0 6 * * * certbot renew
Sla het bestand op en sluit Nano af met CTRL + X. Bevestig met Y en druk op ENTER.
Afronding
Je hebt Certbot succesvol ingesteld voor je domein(en), in de standalone-modus, via Webroot of met een van de plug-ins. Zo zorg je voor een veilige gegevensoverdracht via HTTPS op je website. Heb je vragen of problemen? Ons supportteam staat elke dag voor je klaar! 🙂
Serverhosting vanaf € 2,49 / maand, direct online, inclusief DDoS-bescherming.
Certbot biedt verschillende aanvullende webserverplug-ins die het beheer van certificaten nog eenvoudiger maken, omdat ze automatisch de relevante serverblokken aanpassen. Om een plug-in te gebruiken, voeg je de juiste parameter toe aan je certbot-opdracht.
Beide methoden gebruiken de challenge HTTP-01 en werken in principe hetzelfde. Certbot zoekt eerst het serverblok waarin het aangevraagde domein als server_name is opgenomen. Vervolgens genereert Certbot een ACME-challenge en voegt het tijdelijk een location /.well-known/acme-challenge/...-blok toe aan de configuratie van het serverblok.
De servers van Let's Encrypt proberen de challenge vervolgens van je server op te halen. Als dat lukt, wordt je certificaat gegenereerd en wordt de configuratie van het serverblok automatisch aangepast om HTTPS (poort 443) te gebruiken en de paden naar de nieuwe certificaten in te vullen.
Nginx-plug-in
Controleer voordat je de plug-in gebruikt of deze is geïnstalleerd.
Code
sudo apt install python3-certbot-nginx
Gebruik de parameter --nginx in je opdracht om de Nginx-plug-in te gebruiken.
Als je wilt voorkomen dat Certbot serverblokken automatisch met één klik aanpast, kun je de parameter certonly toevoegen, bijvoorbeeld certbot certonly.
Apache-plug-in
Controleer voordat je de plug-in gebruikt of deze is geïnstalleerd.
Code
sudo apt install python3-certbot-apache
Gebruik de parameter --apache in je opdracht om de Apache-plug-in te gebruiken.
Als je wilt voorkomen dat Certbot serverblokken automatisch met één klik aanpast, kun je de parameter certonly toevoegen, bijvoorbeeld certbot certonly.
Webroot-plug-in
Als je een eigen lokale webserver gebruikt die geen standaardsoftware is, kun je de Webroot-methode gebruiken om je webserver actief te laten zonder deze te hoeven stoppen.
Gebruik de parameter --webroot in je opdracht om de Webroot-plug-in te gebruiken. Daarnaast moet je met -w [dein_webserver_pfad] (afkorting van --webroot-path) het pad naar de bovenliggende map van je webserver opgeven.
Een veelgebruikt Webroot-pad is /var/www/html. Je kunt deze methode ook gebruiken voor webservers zoals Nginx of Apache als je de webserver actief wilt houden en automatische aanpassingen van serverblokken, zoals bij de standaardplug-ins, wilt vermijden.