Säkra Nginx med SSL/TLS
Implementera HTTPS genom att konfigurera SSL/TLS-certifikat med Nginx för säker kommunikation.
Säkra Nginx med SSL/TLS är en gratis lektion i API-gateway och reverse proxy (Nginx + Spring Cloud Gateway) på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för API-gateway och reverse proxy (Nginx + Spring Cloud Gateway), och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i API-gateway och reverse proxy (Nginx + Spring Cloud Gateway) innehåller totalt 4 lektioner.
Skydda er webbplats med HTTPS
Välkomna till en genomgång av hur ni skyddar Nginx med SSL/TLS! I den här lektionen får ni lära er att konfigurera HTTPS för era webbplatser.
HTTPS (Hypertext Transfer Protocol Secure) är den säkra versionen av HTTP. Det säkerställer att kommunikationen mellan användarens webbläsare och er Nginx-server är krypterad och autentiserad.
HTTPS är avgörande för att skydda känsliga uppgifter, skapa förtroende hos användarna och möjliggöra moderna webbfunktioner och SEO, där det ofta är ett krav.
Så skyddar SSL/TLS data
I grunden bygger HTTPS på protokollen SSL/TLS (Secure Sockets Layer/Transport Layer Security). Protokollen upprättar en krypterad länk mellan en klient och en server.
- Handskakning: När ni besöker en HTTPS-webbplats genomför webbläsaren och servern en ”handskakning” för att komma överens om krypteringsmetoder.
- Kryptering: När metoden har valts krypteras all data som skickas (lösenord, kreditkortsnummer och så vidare), vilket gör den oläslig för avlyssnare.
- Autentisering: Serverns identitet verifieras också med hjälp av ett certifikat, vilket förhindrar attacker av typen ”man-in-the-middle”.
Förstå SSL-certifikat
Ett SSL-certifikat är en digital fil som kopplar en kryptografisk nyckel till uppgifter om en organisation. Det utfärdas av en betrodd Certificate Authority (CA).
När en webbläsare ansluter till en HTTPS-webbplats kontrollerar den certifikatet för att säkerställa att:
- Webbplatsens identitet är legitim.
- Anslutningen är krypterad.
- Data inte har manipulerats.
Certifikat finns på olika valideringsnivåer, från grundläggande Domain Validated (DV) till Extended Validation (EV) för högre säkerhet.
Skaffa ert SSL-certifikat
För att aktivera HTTPS behöver ni först ett SSL-certifikat. Det finns två huvudsakliga sätt att skaffa ett:
- Kommersiella CA: Företag som DigiCert och GlobalSign säljer certifikat, ofta med ytterligare funktioner och garantier.
- Let's Encrypt: En kostnadsfri, automatiserad och öppen certifikatutfärdare. Den används i stor utsträckning eftersom den är enkel och kostnadseffektiv. Vi fokuserar på att konfigurera Nginx med certifikat som har hämtats på det här sättet.
För Let's Encrypt automatiserar verktyg som Certbot processen med att skaffa och förnya certifikat.
Förbered SSL-konfigurationen i Nginx
Innan ni börjar konfigurera Nginx bör ni kontrollera att följande förutsättningar är uppfyllda:
- Nginx installerat: Er Nginx-server är igång och fungerar.
- Domännamn: Ett registrerat domännamn som pekar på serverns IP-adress.
- Certifikatfiler: Ni behöver två huvudfiler: certifikatfilen (till exempel
yourdomain.crt) och filen med den privata nyckeln (till exempelyourdomain.key). De placeras vanligtvis i en säker katalog som/etc/nginx/ssl/eller/etc/letsencrypt/live/yourdomain/.
Viktiga SSL-direktiv i Nginx
Konfiguration av SSL i Nginx börjar med att ni definierar ett server-block som lyssnar på port 443 (standardporten för HTTPS) och anger era certifikatfiler.
Här är ett grundläggande exempel:
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
# Your website's root directory
root /var/www/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}Avancerade säkerhetsinställningar för SSL
För att förbättra säkerheten är det en god vana att ange vilka SSL/TLS-protokoll och chiffer Nginx ska använda. Det hjälper till att förhindra sårbarheter i äldre och mindre säkra alternativ.
ssl_protocols: Anger tillåtna TLS-versioner (till exempel TLSv1.2 och TLSv1.3).ssl_ciphers: Anger starka krypteringsalgoritmer.ssl_prefer_server_ciphers on: Anger att servern ska prioritera sin egen chifferordning framför klientens.
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-256:ECDHE-RSA-AES128-GCM-256:ECDHE-ECDSA-AES256-GCM-256:ECDHE-RSA-AES256-GCM-256:DHE-RSA-AES128-GCM-256:DHE-RSA-AES256-GCM-256';
ssl_prefer_server_ciphers on;
root /var/www/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}Tvinga fram omdirigeringar till HTTPS
För bästa möjliga säkerhet bör ni se till att all HTTP-trafik automatiskt omdirigeras till HTTPS. Det gör ni genom att lägga till ett separat server-block som lyssnar på port 80 (HTTP) och utfärdar en 301-omdirigering (permanent omdirigering).
Då kommer användarna alltid åt webbplatsen säkert, även om de skriver in http://.
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name example.com www.example.com;
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-256:ECDHE-RSA-AES128-GCM-256:ECDHE-ECDSA-AES256-GCM-256:ECDHE-RSA-AES256-GCM-256:DHE-RSA-AES128-GCM-256:DHE-RSA-AES256-GCM-256';
ssl_prefer_server_ciphers on;
root /var/www/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}Testa er HTTPS-konfiguration
När ni har konfigurerat Nginx är det viktigt att testa konfigurationen för att säkerställa att allt fungerar korrekt och säkert.
- Webbläsare: Öppna webbplatsen i en webbläsare. Leta efter hänglåsikonen i adressfältet.
- Utvecklarverktyg: Använd webbläsarens utvecklarverktyg (fliken Network) för att kontrollera att begäranden skickas via HTTPS.
- SSL Labs: Använd onlineverktyg som SSL Labs' SSL Server Test för att få en utförlig rapport och ett säkerhetsbetyg för servern.
curl: Användcurl -v https://yourdomain.comi terminalen för att granska detaljerna i SSL-handskakningen.
Testa era SSL-kunskaper
Vilket Nginx-direktiv används främst för att ange sökvägen till serverns publika SSL-certifikat?
Sammanfattning och nästa steg
Grattis! Ni har lärt er hur Nginx skyddas med SSL/TLS.
Vi gick igenom:
- Varför HTTPS är viktigt och hur SSL/TLS fungerar.
- SSL-certifikat och hur ni skaffar dem.
- Konfiguration av Nginx med grundläggande och avancerade SSL-direktiv.
- Omdirigeringar från HTTP till HTTPS för fullständigt skydd.
- Metoder för att testa SSL-konfigurationen.
Att hålla webbplatser säkra är en kontinuerlig process. Kontrollera regelbundet när era certifikat löper ut och håll Nginx uppdaterat.
Lär dig API-gateway och reverse proxy (Nginx + Spring Cloud Gateway) med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 12
- Lektioner
- 48
Vanliga frågor
Är lektionen ”Säkra Nginx med SSL/TLS” gratis?
Ja – hela texten till ”Säkra Nginx med SSL/TLS” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i API-gateway och reverse proxy (Nginx + Spring Cloud Gateway), kan Ni uppgradera till CoddyKit PRO. Kursen i API-gateway och reverse proxy (Nginx + Spring Cloud Gateway) innehåller totalt 4 lektioner.
Vad lär jag mig i ”Säkra Nginx med SSL/TLS”?
Implementera HTTPS genom att konfigurera SSL/TLS-certifikat med Nginx för säker kommunikation. Ni övar på API-gateway och reverse proxy (Nginx + Spring Cloud Gateway) med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig API-gateway och reverse proxy (Nginx + Spring Cloud Gateway)?
Du behöver inga förkunskaper. Utbildningen i API-gateway och reverse proxy (Nginx + Spring Cloud Gateway) på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.
Hur lång tid tar lektionen ”Säkra Nginx med SSL/TLS”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här API-gateway och reverse proxy (Nginx + Spring Cloud Gateway)-lektionen?
Ja. Varje API-gateway och reverse proxy (Nginx + Spring Cloud Gateway)-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Säkra Nginx med SSL/TLS
- HTTP/2 och optimering av Nginx
- Grundläggande autentisering och åtkomstkontroll
- Härda Nginx med säkerhetsheaders