Indholdsfortegnelse
Sådan sikres Nginx med Let’s Encrypt på Rocky Linux 9
I en verden, hvor online sikkerhed er afgørende, er det afgørende at beskytte dine websteder og applikationer mod uautoriseret adgang og datatyveri. En af de mest effektive måder at opnå dette på er at implementere SSL/TLS-certifikater, som krypterer kommunikationen mellem din server og dine brugere. Let’s Encrypt er en gratis og automatiseret certifikatmyndighed, der gør det nemt at få SSL/TLS-certifikater, og Nginx er en populær og kraftfuld webserver, der ofte bruges til at hoste websteder.
Denne artikel guider dig gennem processen med at sikre Nginx med Let’s Encrypt-certifikater på Rocky Linux 9. Vi vil dække installationen af de nødvendige pakker, konfigurationen af Nginx, og hvordan du automatisk genererer og installerer SSL/TLS-certifikater ved hjælp af Let’s Encrypt.
Forudsætninger
Før du begynder, skal du sørge for, at du har følgende:
* En Rocky Linux 9-server.
* Rodadgang til din server.
* En domænenavn, som du ønsker at sikre med SSL/TLS-certifikater.
* En DNS-tjeneste, der kan konfigureres til at håndtere dine domænenavne.
Trin 1: Installation af afhængigheder
Først skal du installere de nødvendige pakker, der kræves til at arbejde med Let’s Encrypt og Nginx:
bash
sudo dnf install epel-release -y
sudo dnf install nginx certbot python3-certbot-nginx -y
Trin 2: Konfiguration af Nginx
Når du har installeret de nødvendige pakker, skal du konfigurere Nginx til at bruge SSL/TLS-certifikater.
1. Oprettelse af en serverblok:
Du skal oprette en ny serverblok i din Nginx-konfigurationsfil. Denne serverblok vil definere, hvordan din webserver håndterer SSL/TLS-trafik til dit domænenavn. Åbn konfigurationsfilen for Nginx ved at bruge følgende kommando:
bash
sudo nano /etc/nginx/conf.d/your-domain.conf
Udskift “your-domain.conf” med filnavnet på din serverblok. Tilføj følgende blok til din konfigurationsfil:
nginx
server {
listen 443 ssl http2;
server_name your-domain.com www.your-domain.com;
ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
ssl_prefer_server_ciphers on;
Resten af din Nginx-konfiguration
}
Husk at erstatte “your-domain.com” med dit faktiske domænenavn.
2. Konfigurering af Nginx-tilbagekobling:
For at aktivere HTTP-tilbagekobling til HTTPS skal du tilføje følgende blok til din standard Nginx-konfigurationsfil:
bash
server {
listen 80;
server_name your-domain.com www.your-domain.com;
location / {
return 301 https://$host$request_uri;
}
}
3. Genstart af Nginx:
Efter du har foretaget ændringer i din Nginx-konfiguration, skal du genstarte Nginx for at anvende ændringerne:
bash
sudo systemctl restart nginx
Trin 3: Hentning af Let’s Encrypt-certifikat
Når du har konfigureret Nginx, kan du bruge Certbot til at generere og installere SSL/TLS-certifikater fra Let’s Encrypt.
1. Kør Certbot:
For at generere et certfikat skal du køre Certbot med følgende kommando:
bash
sudo certbot certonly --manual --preferred-challenges dns \
-d your-domain.com \
-d www.your-domain.com
Udskift “your-domain.com” med dit faktiske domænenavn.
2. Valg af DNS-verifikation:
Certbot vil bede dig om at vælge manuel DNS-verifikation. Du skal bruge din DNS-tjeneste til at føje en TXT-post til dit domæne. Certbot vil give dig instruktioner til at konfigurere DNS-posten.
3. Bekræftelse af domænenavn:
Når du har føjet TXT-posten til din DNS-tjeneste, skal du køre certbot certonly
-kommandoen igen. Certbot vil verificere DNS-posten og generere et SSL/TLS-certifikat, hvis det er vellykket.
4. Installation af certifikater:
Certbot vil automatisk installere de genererede certifikater i den korrekte mappe i din Nginx-konfiguration.
Trin 4: Automatisk fornyelse af certifikater
Let’s Encrypt-certifikater har en gyldighed på 90 dage. Du skal forny dem, før de udløber. Certbot leveres med en automatisk fornyelsesskrift, der kan bruges til at forny certifikater, før de udløber.
1. Planlægning af fornyelser:
Kør følgende kommando for at planlægge automatiske fornyelser:
bash
sudo certbot renew --dry-run
Denne kommando vil teste fornyelsesprocessen uden at ændre nogen certifikater.
2. Konfigurering af cron job:
Når du har testet fornyelsesprocessen, skal du konfigurere et cron job til at køre Certbot regelmæssigt. Du kan bruge følgende kommando til at oprette et cron job, der kører Certbot hver dag kl. 2:
bash
sudo crontab -e
Tilføj følgende linje til din crontab-fil:
0 2 * root /usr/bin/certbot renew >> /var/log/letsencrypt/renew.log 2>&1
Trin 5: Test af SSL/TLS-konfiguration
Efter du har fulgt alle ovenstående trin, skal du teste din SSL/TLS-konfiguration for at sikre, at den er korrekt konfigureret. Du kan bruge værktøjer som SSL Labs SSL/TLS Server Test (https://www.ssllabs.com/ssltest/) til at teste din konfiguration.
Konklusion
Sikring af Nginx med Let’s Encrypt på Rocky Linux 9 er en simpel og effektiv måde at beskytte dine websteder og applikationer mod uautoriseret adgang. Ved at følge disse trin kan du nemt generere og installere SSL/TLS-certifikater, konfigurere Nginx til at bruge dem, og planlægge automatiske fornyelser for at sikre, at din SSL/TLS-konfiguration altid er opdateret.
At sikre dine websteder med SSL/TLS-certifikater giver dig en række fordele, herunder:
* Forbedret sikkerhed: SSL/TLS-kryptering beskytter data, der udveksles mellem din server og dine brugere, mod uautoriseret adgang, hvilket reducerer risikoen for datatyveri.
* Øget brugertillid: SSL/TLS-certifikater viser dine brugere, at dit websted er sikkert og pålideligt, hvilket øger brugertillid og forbedrer brugeroplevelsen.
* Forbedret SEO: Søgemaskiner foretrækker sikre websteder, så SSL/TLS-certifikater kan forbedre dit websteds rangering i søgeresultater.
* Overholdelse af GDPR: GDPR-forordningen kræver, at personoplysninger beskyttes, og SSL/TLS-kryptering er en vigtig del af at sikre overholdelse af GDPR.
Ved at implementere SSL/TLS-certifikater på dine websteder kan du beskytte dine brugere, forbedre din online tilstedeværelse og opnå en række fordele for din virksomhed.
Ofte stillede spørgsmål (FAQ)
* Hvad er Let’s Encrypt?
Let’s Encrypt er en gratis og automatiseret certifikatmyndighed, der udsteder SSL/TLS-certifikater til at sikre websteder.
* Hvad er Nginx?
Nginx er en populær og kraftfuld webserver, der ofte bruges til at hoste websteder og applikationer.
* Hvorfor er SSL/TLS-certifikater vigtige?
SSL/TLS-certifikater krypterer kommunikationen mellem din server og dine brugere, hvilket beskytter data mod uautoriseret adgang og sikrer brugertillid.
* Hvordan fungerer DNS-verifikation?
DNS-verifikation er en metode til at bekræfte ejerskabet af et domænenavn, der bruges af Let’s Encrypt til at udstede SSL/TLS-certifikater.
* Hvad er forskellen mellem HTTP og HTTPS?
HTTP er en standard protokol til overførsel af data over internettet, mens HTTPS er en sikker version af HTTP, der bruger SSL/TLS-kryptering til at beskytte data.
* Hvordan sikrer jeg, at mine certifikater fornyes automatisk?
Certbot leveres med en automatisk fornyelsesskrift, der kan konfigureres til at forny certifikater regelmæssigt.
* Hvad sker der, hvis mit certifikat udløber?
Hvis dit certifikat udløber, vil dine brugere ikke kunne besøge dit websted sikkert, og de kan modtage advarselsmeddelelser i deres browser.
* Hvordan tester jeg min SSL/TLS-konfiguration?
Du kan bruge værktøjer som SSL Labs SSL/TLS Server Test (https://www.ssllabs.com/ssltest/) til at teste din SSL/TLS-konfiguration.
* Hvad hvis jeg har problemer med at installere eller konfigurere Let’s Encrypt?
Du kan finde hjælp i Let’s Encrypt-dokumentationen (https://letsencrypt.org/docs/) eller ved at søge på internettet for løsninger på specifikke problemer.
* Er det muligt at bruge Let’s Encrypt med andre webservere?
Ja, Let’s Encrypt kan bruges med en række forskellige webservere, herunder Apache, Caddy og HAProxy.
Tag: SSL, TLS, Let’s Encrypt, Nginx, Rocky Linux, Webserver, Sikkerhed, Kryptering, Fornyelse, DNS-verifikation, HTTPS, CDN