Hvordan sette opp passordautentisering med Nginx på Rocky Linux 9

Hvordan installere Nginx på Rocky Linux 9?

Nginx er en populær og åpen kildekode-nettverksserver som er kjent for sin høye ytelse, lave minnebruk og avanserte funksjoner. Den brukes ofte til å betjene statiske og dynamiske nettsider, applikasjoner og API-er. I denne veiledningen vil vi gå gjennom trinnene for å installere Nginx på Rocky Linux 9.

Forutsetninger

Før du installerer Nginx, sørg for at du har:

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

Trinn 1: Installer Nginx

Kjør følgende kommando for å installere Nginx:


sudo dnf install nginx

Trinn 2: Start og aktiver Nginx

Når installasjonen er fullført, start Nginx-tjenesten med kommandoen:


sudo systemctl start nginx

For å aktivere Nginx slik at den starter automatisk ved oppstart, kjør kommandoen:


sudo systemctl enable nginx

Trinn 3: Konfigurer Nginx

Konfigurasjonsfilen for Nginx er vanligvis plassert på /etc/nginx/nginx.conf. Bruk en tekstredigerer for å åpne filen:


sudo nano /etc/nginx/nginx.conf

Konfigurere passordautentisering

For å konfigurere passordautentisering med Nginx må du opprette en passordfil. Du kan gjøre dette ved å bruke kommandoen:


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

Erstatt «brukernavn» med brukernavnet du vil bruke for autentisering. Du vil bli bedt om å oppgi og bekrefte passordet for brukernavnet.

Legg til passordautentisering i Nginx-konfigurasjonen

Legg deretter til følgende blokk i Nginx-konfigurasjonsfilen:


location / {
auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/.htpasswd;
}

Dette konfigurerer Nginx til å be om et brukernavn og passord for brukere som prøver å få tilgang til alle ressurser under rotkatalogen.

Konfigurere SSL-sertifikat

For å aktivere SSL-kryptering og sikre kommunikasjonen mellom nettleseren og Nginx-serveren, må du konfigurere et SSL-sertifikat.

1. Opprett 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 sertifikatmyndighet (CA). Du kan enten kjøpe et sertifikat fra en kommersiell CA eller opprette et selvsignert sertifikat for testformål.

4. Konfigurer Nginx for SSL:

Legg til følgende blokk i Nginx-konfigurasjonsfilen:


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

Erstatt «example.com» med domenenavnet eller IP-adressen til nettstedet ditt.

Konfigurer Nginx for å omdirigere HTTP til HTTPS

For å tvinge alle forespørsler til å bruke HTTPS, legg til følgende blokk i Nginx-konfigurasjonsfilen:


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

Konfigurere Nginx for caching

Nginx gir omfattende caching-funksjonalitet som kan forbedre ytelsen til nettstedet ditt.

1. Aktiver caching:

Legg til følgende direktiv i Nginx-konfigurasjonsfilen:


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

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

2. Konfigurer cachingsregler:

Legg til følgende blokk i Nginx-konfigurasjonsfilen:


location / {
proxy_cache my_cache;
}

Dette konfigurerer Nginx til å cache alle innkommende forespørsler til roten.

Feilsøking av Nginx

Hvis du støter på problemer med Nginx-konfigurasjonen, kan du prøve følgende:

1. Sjekk Nginx-feilloggen:


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

2. Sjekk Nginx-tilgangloggen:


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

3. Bruk Nginx testkommandoen:


sudo nginx -t

Konklusjon

Å sette opp Nginx på Rocky Linux 9 er en enkel prosess som kan gjøres ved å følge trinnene beskrevet i denne veiledningen. Når Nginx er installert og konfigurert, kan du betjene dynamiske og statiske nettsider, applikasjoner og API-er med høy ytelse og pålitelighet.

Ofte stilte spørsmål (FAQs)

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 konfigurasjonsfilen for Nginx:


sudo nano /etc/nginx/nginx.conf

Finn direktivet «listen» og endre portnummeret etter behov.

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

Legg til følgende blokk i Nginx-konfigurasjonsfilen:


location / {
allow 192.168.1.1;
deny all;
}

Erstatt «192.168.1.1» med IP-adressen eller nettverksområdet du vil tillate.

6. Hvordan konfigurerer jeg Nginx for Last Balancer?

Legg til følgende blokk i Nginx-konfigurasjonsfilen:


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 verdiene til bakserverne dine.

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

Legg til følgende direktiv i Nginx-konfigurasjonsfilen:


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

Dette vil logge HTTP-forespørsler til filen «/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
– Skann regelmessig etter sårbarheter