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

Sikring av Nginx med SSL/TLS

Implementer HTTPS ved å konfigurere SSL/TLS-sertifikater med Nginx for sikker kommunikasjon.

Leksjon 1 av 411 trinn

Sikring av Nginx med SSL/TLS er en gratis leksjon i API-gateway og reverse proxy (Nginx + Spring Cloud Gateway) på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i API-gateway og reverse proxy (Nginx + Spring Cloud Gateway), og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i API-gateway og reverse proxy (Nginx + Spring Cloud Gateway) inneholder totalt 4 leksjoner.

Sikre nettstedet med HTTPS

Velkommen til sikring av Nginx med SSL/TLS! I denne leksjonen får du veiledning i hvordan du setter opp HTTPS for nettstedene dine.

HTTPS (Hypertext Transfer Protocol Secure) er den sikre versjonen av HTTP. Den sørger for at kommunikasjonen mellom brukerens nettleser og Nginx-serveren din er kryptert og autentisert.

HTTPS er avgjørende for å beskytte sensitive data, skape tillit hos brukerne og oppfyller ofte kravene for moderne nettfunksjoner og SEO.

Slik beskytter SSL/TLS data

HTTPS er i bunn og grunn avhengig av protokollene SSL/TLS (Secure Sockets Layer/Transport Layer Security). Disse protokollene oppretter en kryptert forbindelse mellom en klient og en server.

  • Håndtrykk: Når du besøker et HTTPS-nettsted, utfører nettleseren og serveren et «håndtrykk» for å bli enige om krypteringsmetoder.
  • Kryptering: Når de er blitt enige, krypteres alle data som utveksles (passord, kredittkortnumre og så videre), slik at de blir uleselige for uvedkommende.
  • Autentisering: Serverens identitet bekreftes også ved hjelp av et sertifikat, noe som hindrer såkalte «man-in-the-middle»-angrep.

Forstå SSL-sertifikater

Et SSL-sertifikat er en digital fil som knytter en kryptografisk nøkkel til opplysningene om en organisasjon. Det utstedes av en betrodd Certificate Authority (CA).

Når en nettleser kobler til et HTTPS-nettsted, kontrollerer den sertifikatet for å sikre at:

  • Nettstedets identitet er legitim.
  • Forbindelsen er kryptert.
  • Dataene ikke har blitt endret.

Sertifikater finnes på ulike valideringsnivåer, fra enkel Domain Validated (DV) til Extended Validation (EV), som gir høyere grad av sikkerhet.

Skaff SSL-sertifikatet ditt

For å aktivere HTTPS trenger du først et SSL-sertifikat. Det finnes to hovedmåter å skaffe et på:

  • Kommersielle CA-er: Selskaper som DigiCert eller GlobalSign selger sertifikater, ofte med ekstra funksjoner og garantier.
  • Let's Encrypt: En gratis, automatisert og åpen sertifikatutsteder. Den brukes mye fordi den er enkel og kostnadseffektiv. Vi fokuserer på å konfigurere Nginx med sertifikater som er skaffet på denne måten.

For Let's Encrypt automatiserer verktøy som Certbot prosessen med å skaffe og fornye sertifikater.

Forberedelse av Nginx SSL-konfigurasjon

Før du går i gang med Nginx-konfigurasjonen, må du sørge for at du har disse forutsetningene:

  • Nginx installert: Nginx-serveren kjører.
  • Domenenavn: Et registrert domenenavn som peker til serverens IP-adresse.
  • Sertifikatfiler: Du trenger to hovedfiler: sertifikatfilen (for eksempel yourdomain.crt) og filen med den private nøkkelen (for eksempel yourdomain.key). Disse plasseres vanligvis i en sikker katalog som /etc/nginx/ssl/ eller /etc/letsencrypt/live/yourdomain/.

Viktige Nginx SSL-direktiver

Konfigurering av Nginx for SSL begynner med å definere en server-blokk som lytter på port 443 (standardporten for HTTPS) og angir sertifikatfilene dine.

Her er et grunnleggende 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;
    }
}

Avanserte SSL-sikkerhetsinnstillinger

For å øke sikkerheten er det god praksis å angi hvilke SSL/TLS-protokoller og krypteringsmetoder Nginx skal bruke. Dette bidrar til å forhindre sårbarheter i eldre og mindre sikre alternativer.

  • ssl_protocols: Definerer tillatte TLS-versjoner (for eksempel TLSv1.2 og TLSv1.3).
  • ssl_ciphers: Lister opp sterke krypteringsalgoritmer.
  • ssl_prefer_server_ciphers on: Ber serveren prioritere sin egen rekkefølge for krypteringsmetoder fremfor 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;
    }
}

Tving omdirigering til HTTPS

For optimal sikkerhet bør du sørge for at all HTTP-trafikk automatisk omdirigeres til HTTPS. Dette kan gjøres ved å legge til en separat server-blokk som lytter på port 80 (HTTP) og sender en 301-omdirigering (permanent).

Da får du sikker tilgang til nettstedet hver gang, selv om brukerne skriver inn 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;
    }
}

Test HTTPS-konfigurasjonen

Etter at du har konfigurert Nginx, er det viktig å teste oppsettet for å sikre at alt fungerer riktig og sikkert.

  • Nettleser: Åpne nettstedet i en nettleser. Se etter hengelåsikonet i adressefeltet.
  • Utviklerverktøy: Bruk nettleserens utviklerverktøy (fanen Network) for å kontrollere at forespørslene går over HTTPS.
  • SSL Labs: Bruk nettbaserte verktøy som SSL Labs' SSL Server Test for å få en omfattende rapport og en sikkerhetsvurdering av serveren.
  • curl: Bruk curl -v https://yourdomain.com i terminalen for å undersøke detaljene i SSL-håndtrykket.

Test kunnskapen din om SSL

Hvilket Nginx-direktiv brukes hovedsakelig til å angi filbanen til serverens offentlige SSL-sertifikat?

Oppsummering og neste steg

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

Vi har gått gjennom:

  • Hvorfor HTTPS er viktig, og hvordan SSL/TLS fungerer.
  • SSL-sertifikater og hvordan du skaffer dem.
  • Konfigurering av Nginx med grunnleggende og avanserte SSL-direktiver.
  • Omdirigering fra HTTP til HTTPS for full sikkerhet.
  • Metoder for å teste SSL-konfigurasjonen.

Å holde nettstedene dine sikre er en kontinuerlig prosess. Kontroller sertifikatene regelmessig for å se når de utløper, og hold Nginx oppdatert.

Gratis å komme i gang

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

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
48

Ofte stilte spørsmål

Er leksjonen «Sikring av Nginx med SSL/TLS» gratis?

Ja – hele teksten i «Sikring av Nginx med SSL/TLS» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av API-gateway og reverse proxy (Nginx + Spring Cloud Gateway)-kurset, kan du oppgradere til CoddyKit PRO. Kurset i API-gateway og reverse proxy (Nginx + Spring Cloud Gateway) inneholder totalt 4 leksjoner.

Hva lærer jeg i «Sikring av Nginx med SSL/TLS»?

Implementer HTTPS ved å konfigurere SSL/TLS-sertifikater med Nginx for sikker kommunikasjon. Du øver på API-gateway og reverse proxy (Nginx + Spring Cloud Gateway) med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med API-gateway og reverse proxy (Nginx + Spring Cloud Gateway)?

Ingen tidligere erfaring er nødvendig. API-gateway og reverse proxy (Nginx + Spring Cloud Gateway) på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.

Hvor lang tid tar leksjonen «Sikring av Nginx med SSL/TLS»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

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

Ja. Alle API-gateway og reverse proxy (Nginx + Spring Cloud Gateway)-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Sikring av Nginx med SSL/TLS
  2. HTTP/2 og optimalisering av Nginx
  3. Grunnleggende autentisering og tilgangskontroll
  4. Sikring av Nginx med sikkerhetsheadere
← Tilbake til API-gateway og reverse proxy (Nginx + Spring Cloud Gateway)