Sikker Nginx på Rocky Linux 9: Steg-for-steg guide


Installasjon av Nginx på Rocky Linux 9

Nginx, en velkjent nettserver med åpen kildekode, er verdsatt for sin robuste ytelse, minimale ressursbruk og avanserte funksjoner. Den er ofte brukt for å håndtere visning av både statisk og dynamisk nettinnhold, applikasjoner og API-er. I denne veiledningen vil vi utforske de nødvendige stegene for å installere Nginx på Rocky Linux 9.

Nødvendige forberedelser

Før du påbegynner installasjonen av Nginx, sørg for at følgende er på plass:

  • En server som kjører Rocky Linux 9
  • En bruker med sudo-rettigheter

Steg 1: Gjennomføre Nginx-installasjonen

Bruk denne kommandoen for å initiere installasjonen av Nginx:

sudo dnf install nginx

Steg 2: Start og Aktiver Nginx

Etter at installasjonen er fullført, start Nginx-tjenesten ved hjelp av denne kommandoen:

sudo systemctl start nginx

For å sikre at Nginx starter automatisk ved oppstart av systemet, bruk følgende kommando:

sudo systemctl enable nginx

Steg 3: Konfigurasjon av Nginx

Hovedkonfigurasjonsfilen for Nginx ligger vanligvis i /etc/nginx/nginx.conf. Du kan redigere denne filen med en tekstredigerer:

sudo nano /etc/nginx/nginx.conf

Implementering av passordautentisering

For å konfigurere passordbeskyttelse med Nginx, må du generere en passordfil. Dette kan gjøres med følgende kommando:

sudo htpasswd -c /etc/nginx/.htpasswd brukernavn

Bytt ut «brukernavn» med det ønskede brukernavnet for autentisering. Systemet vil be deg om å angi og bekrefte passordet for dette brukernavnet.

Legge til passordautentisering i Nginx-konfigurasjonen

Inkluder deretter denne koden i Nginx-konfigurasjonsfilen:

location / {
auth_basic "Begrenset tilgang";
auth_basic_user_file /etc/nginx/.htpasswd;
}

Dette aktiverer passordbeskyttelse for alle ressurser under rotkatalogen, som krever et brukernavn og passord for tilgang.

Konfigurering av SSL-sertifikat

For å muliggjøre SSL-kryptering og sikre kommunikasjonen mellom nettlesere og Nginx-serveren, er et SSL-sertifikat nødvendig.

1. Generer en privat nøkkel:

openssl genrsa -out /etc/nginx/server.key 2048

2. Opprett en sertifikatsigneringsforespørsel (CSR):

openssl req -new -key /etc/nginx/server.key -out /etc/nginx/server.csr

3. Få sertifikatet signert av en sertifikatutsteder (CA). Du kan anskaffe et sertifikat fra en kommersiell CA, eller bruke et selvsignert sertifikat for testing.

4. Konfigurer Nginx for SSL:

Legg til denne seksjonen i Nginx-konfigurasjonsfilen:

server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/server.crt;
ssl_certificate_key /etc/nginx/server.key;
}

Bytt ut «example.com» med ditt domenenavn eller IP-adresse.

Omadressering av HTTP til HTTPS

For å dirigere alle forespørsler til HTTPS, legg til denne koden i Nginx-konfigurasjonsfilen:

server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}

Konfigurering av Nginx for caching

Nginx har omfattende caching-muligheter som kan øke ytelsen til din nettside.

1. Aktiver caching:

Legg til dette direktivet i Nginx-konfigurasjonsfilen:

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m;

Dette oppretter en cache i mappen «/var/cache/nginx» med to nivåer og en størrelse på 10 MB.

2. Sett opp caching-regler:

Inkluder følgende i Nginx-konfigurasjonsfilen:

location / {
proxy_cache my_cache;
}

Dette instruerer Nginx om å cache alle innkommende forespørsler til rotmappen.

Feilsøking av Nginx

Hvis du opplever problemer med Nginx-konfigurasjonen, prøv disse stegene:

1. Sjekk Nginx sin feillogg:

sudo tail -f /var/log/nginx/error.log

2. Se Nginx-tilgangsloggen:

sudo tail -f /var/log/nginx/access.log

3. Bruk Nginx-testkommandoen:

sudo nginx -t

Konklusjon

Å installere Nginx på Rocky Linux 9 er en enkel prosess som følger trinnene i denne veiledningen. Med Nginx installert og konfigurert kan du betjene dynamisk og statisk innhold, applikasjoner og API-er med høy ytelse og pålitelighet.

Ofte stilte spørsmål (FAQ)

1. Hvordan oppdaterer jeg Nginx på Rocky Linux 9?

sudo dnf update nginx

2. Hvordan deaktiverer jeg Nginx på Rocky Linux 9?

sudo systemctl stop nginx

3. Hvordan fjerner jeg Nginx fra Rocky Linux 9?

sudo dnf remove nginx

4. Hvordan endrer jeg standardporten for Nginx?

Rediger Nginx-konfigurasjonsfilen:

sudo nano /etc/nginx/nginx.conf

Finn «listen» direktivet og endre portnummeret etter behov.

5. Hvordan begrenser jeg tilgangen til bestemte IP-adresser i Nginx?

Legg til følgende i Nginx-konfigurasjonen:

location / {
allow 192.168.1.1;
deny all;
}

Bytt ut «192.168.1.1» med den IP-adressen eller nettverket du vil tillate.

6. Hvordan konfigurerer jeg Nginx for lastbalansering?

Legg til følgende i Nginx-konfigurasjonen:

upstream my_upstream {
server 192.168.1.1:80;
server 192.168.1.2:80;
}

location / {
proxy_pass http://my_upstream;
}

Erstatt IP-adressene og portnumrene med dine backend-servere.

7. Hvordan logger jeg HTTP-forespørsler i Nginx?

Legg til dette direktivet i Nginx-konfigurasjonen:

access_log /var/log/nginx/access.log;

Dette vil logge HTTP-forespørsler til «/var/log/nginx/access.log».

8. Hvordan forbedrer jeg sikkerheten til Nginx?

  • Aktiver SSL/TLS
  • Aktiver HTTP/2
  • Deaktiver unødvendige moduler
  • Sett opp brannmurregler
  • Gjør regelmessige sårbarhetsskanninger