API-gateway og reverse proxy (Nginx + Spring Cloud Gateway) · Lektion

Sikring af Nginx med SSL/TLS

Implementér HTTPS ved at konfigurere SSL/TLS-certifikater med Nginx for at opnå sikker kommunikation.

Lektion 1 af 411 trin

Sikring af Nginx med SSL/TLS er en gratis API-gateway og reverse proxy (Nginx + Spring Cloud Gateway)-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i API-gateway og reverse proxy (Nginx + Spring Cloud Gateway), og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. API-gateway og reverse proxy (Nginx + Spring Cloud Gateway)-kurset indeholder 4 lektioner i alt.

Beskyt dit websted med HTTPS

Velkommen til denne lektion om sikring af Nginx med SSL/TLS! Du bliver guidet gennem opsætningen af HTTPS til dine websteder.

HTTPS (Hypertext Transfer Protocol Secure) er den sikre version af HTTP. Det sikrer, at kommunikationen mellem en brugers browser og din Nginx-server er krypteret og autentificeret.

Det er afgørende at bruge HTTPS for at beskytte følsomme data, skabe tillid hos brugerne og understøtte moderne webfunktioner og SEO, som ofte kræver det.

Sådan beskytter SSL/TLS data

HTTPS er grundlæggende baseret på protokollerne SSL/TLS (Secure Sockets Layer/Transport Layer Security). Disse protokoller opretter en krypteret forbindelse mellem en klient og en server.

  • Håndtryk: Når du besøger et HTTPS-websted, udfører din browser og serveren et 'håndtryk' for at blive enige om krypteringsmetoder.
  • Kryptering: Når metoden er valgt, krypteres alle udvekslede data (adgangskoder, kreditkortnumre osv.), så uvedkommende ikke kan læse dem.
  • Autentificering: Forbindelsen bekræfter også serverens identitet ved hjælp af et certifikat, hvilket forhindrer 'man-in-the-middle'-angreb.

Forstå SSL-certifikater

Et SSL-certifikat er en digital fil, der knytter en kryptografisk nøgle til oplysninger om en organisation. Det udstedes af en betroet Certificate Authority (CA).

Når en browser opretter forbindelse til et HTTPS-websted, kontrollerer den certifikatet for at sikre, at:

  • webstedets identitet er legitim
  • forbindelsen er krypteret
  • dataene ikke er blevet ændret

Certifikater findes med forskellige valideringsniveauer, fra grundlæggende Domain Validated (DV) til Extended Validation (EV), som giver større sikkerhed.

Sådan får du dit SSL-certifikat

For at aktivere HTTPS skal du først bruge et SSL-certifikat. Der er to hovedmåder at få et på:

  • Kommercielle CA'er: Virksomheder som DigiCert eller GlobalSign sælger certifikater, ofte med ekstra funktioner og garantier.
  • Let's Encrypt: En gratis, automatiseret og åben certifikatmyndighed. Den bruges bredt på grund af sin enkelhed og lave pris. Vi fokuserer på at konfigurere Nginx med certifikater, der er hentet på denne måde.

Til Let's Encrypt automatiserer værktøjer som Certbot processen med at hente og forny certifikater.

Forberedelse af Nginx SSL-konfiguration

Før du går i gang med Nginx-konfigurationen, skal du sikre dig, at du har disse forudsætninger:

  • Nginx installeret: Din Nginx-server kører.
  • Domænenavn: Et registreret domænenavn, der peger på din servers IP-adresse.
  • Certifikatfiler: Du skal bruge to hovedfiler: certifikatfilen (f.eks. yourdomain.crt) og filen med den private nøgle (f.eks. yourdomain.key). De placeres normalt i en sikker mappe som /etc/nginx/ssl/ eller /etc/letsencrypt/live/yourdomain/.

Vigtige Nginx SSL-direktiver

Konfiguration af Nginx til SSL begynder med at definere en server-blok, der lytter på port 443 (standardporten til HTTPS) og angiver dine certifikatfiler.

Her er et grundlæggende eksempel:

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;
    }
}

Avancerede SSL-sikkerhedsindstillinger

For at øge sikkerheden er det god praksis at angive, hvilke SSL/TLS-protokoller og krypteringsalgoritmer Nginx skal bruge. Det hjælper med at forhindre sårbarheder fra ældre og mindre sikre valgmuligheder.

  • ssl_protocols: Definerer tilladte TLS-versioner (f.eks. TLSv1.2, TLSv1.3).
  • ssl_ciphers: Angiver stærke krypteringsalgoritmer.
  • ssl_prefer_server_ciphers on: Fortæller serveren, at den skal foretrække sin egen rækkefølge af krypteringsalgoritmer frem for 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;
    }
}

Gennemtving omdirigeringer til HTTPS

For optimal sikkerhed bør du sikre, at al HTTP-trafik automatisk omdirigeres til HTTPS. Det kan gøres ved at tilføje en separat server-blok, der lytter på port 80 (HTTP) og sender en 301-omdirigering (permanent).

Det sikrer, at brugerne altid får adgang til dit websted sikkert, selv hvis de skriver http:// direkte.

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;
    }
}

Test din HTTPS-konfiguration

Efter konfigurationen af Nginx er det vigtigt at teste din opsætning for at sikre, at alt fungerer korrekt og sikkert.

  • Browser: Åbn dit websted i en browser. Se efter hængelåsikonet i adresselinjen.
  • Udviklerværktøjer: Brug browserens udviklerværktøjer (fanen Network) for at kontrollere, at forespørgslerne går over HTTPS.
  • SSL Labs: Brug onlineværktøjer som SSL Labs' SSL Server Test for at få en omfattende rapport og en sikkerhedsvurdering af din server.
  • curl: Brug curl -v https://yourdomain.com fra din terminal for at undersøge detaljerne i SSL-håndtrykket.

Test din viden om SSL

Hvilket Nginx-direktiv bruges primært til at angive filstien til din servers offentlige SSL-certifikat?

Opsummering og næste trin

Tillykke! Du har lært, hvordan du sikrer Nginx med SSL/TLS.

Vi har gennemgået:

  • betydningen af HTTPS, og hvordan SSL/TLS fungerer
  • SSL-certifikater, og hvordan du får fat i dem
  • konfiguration af Nginx med grundlæggende og avancerede SSL-direktiver
  • implementering af omdirigeringer fra HTTP til HTTPS for fuld sikkerhed
  • metoder til at teste din SSL-konfiguration

At holde dine websteder sikre er en løbende proces. Kontrollér jævnligt, om dine certifikater er udløbet, og hold Nginx opdateret.

Gratis at komme i gang

Lær API-gateway og reverse proxy (Nginx + Spring Cloud Gateway) med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
12
Lektioner
48

Ofte stillede spørgsmål

Er lektionen “Sikring af Nginx med SSL/TLS” gratis?

Ja — hele teksten til “Sikring af Nginx med SSL/TLS” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af API-gateway og reverse proxy (Nginx + Spring Cloud Gateway)-kurset, skal du opgradere til CoddyKit PRO. API-gateway og reverse proxy (Nginx + Spring Cloud Gateway)-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Sikring af Nginx med SSL/TLS”?

Implementér HTTPS ved at konfigurere SSL/TLS-certifikater med Nginx for at opnå sikker kommunikation. Du øver dig i API-gateway og reverse proxy (Nginx + Spring Cloud Gateway) med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på API-gateway og reverse proxy (Nginx + Spring Cloud Gateway)?

Der kræves ingen tidligere erfaring. API-gateway og reverse proxy (Nginx + Spring Cloud Gateway) på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “Sikring af Nginx med SSL/TLS”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne API-gateway og reverse proxy (Nginx + Spring Cloud Gateway)-lektion?

Ja. Alle API-gateway og reverse proxy (Nginx + Spring Cloud Gateway)-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Sikring af Nginx med SSL/TLS
  2. HTTP/2 og optimering af Nginx
  3. Grundlæggende godkendelse og adgangskontrol
  4. Sikrere Nginx med sikkerhedsheaders
← Tilbage til API-gateway og reverse proxy (Nginx + Spring Cloud Gateway)