Grundläggande autentisering och åtkomstkontroll
Konfigurera grundläggande HTTP-autentisering och IP-baserad åtkomstkontroll för att skydda Nginx-resurser.
Grundläggande autentisering och åtkomstkontroll är en gratis lektion i API-gateway och reverse proxy (Nginx + Spring Cloud Gateway) på CoddyKit. Detta är lektion 3 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 resurser i Nginx
När Nginx levererar innehåll eller fungerar som proxy är det viktigt att kontrollera vem som får åtkomst till era resurser. Det hjälper till att förhindra obehörig åtkomst och håller era applikationer säkra.
I den här lektionen utforskar vi två grundläggande sätt att skydda Nginx: Basic HTTP Authentication och IP-baserad åtkomstkontroll.
Grundläggande HTTP-autentisering
Basic HTTP Authentication är ett enkelt sätt att skydda webbresurser med användarnamn och lösenord. När en användare försöker komma åt en skyddad resurs uppmanar webbläsaren användaren att ange inloggningsuppgifter.
- Webbläsaren skickar inloggningsuppgifterna med varje begäran.
- Nginx verifierar dem mot en lagrad fil.
- Det är enkelt, men inloggningsuppgifterna skickas som base64-kodad text (inte krypterad), så använd alltid detta tillsammans med HTTPS!
Skapa en lösenordsfil
För att använda grundläggande autentisering behöver Nginx en fil som innehåller användarnamn och krypterade lösenord. Vi använder verktyget htpasswd, som vanligtvis ingår i paketet med Apache-verktyg.
Så här skapar ni en lösenordsfil eller lägger till användare i en befintlig fil:
sudo apt install apache2-utils # On Debian/Ubuntu
sudo yum install httpd-tools # On CentOS/RHEL
sudo htpasswd -c /etc/nginx/.htpasswd coddyuser
# -c creates the file if it doesn't exist
# You'll be prompted to enter and confirm passwordKonfigurera Basic Auth i Nginx
När ni har en lösenordsfil kan ni konfigurera Nginx så att den använder den. Ni använder två huvuddirektiv:
auth_basic: Anger den säkerhetsdomän som visas i inloggningsdialogen.auth_basic_user_file: Anger sökvägen till lösenordsfilen.
Direktiven kan placeras i blocken http, server eller location.
Exempel: Basic Auth med Nginx
Det här Nginx-konfigurationsutdraget skyddar sökvägen /admin och kräver att användarna autentiserar sig med uppgifter från filen .htpasswd.
http {
# ... other http settings
server {
listen 80;
server_name example.com;
location / {
root /var/www/html;
index index.html;
}
location /admin {
auth_basic "Restricted Area";
auth_basic_user_file /etc/nginx/.htpasswd;
root /var/www/admin;
index index.html;
}
}
}IP-baserad åtkomstkontroll
Ett annat sätt att skydda resurser är att styra åtkomsten utifrån klientens IP-adress. Nginx använder direktiven allow och deny för detta.
allow IP_ADDRESS | CIDR | all: Tillåter åtkomst från angivna IP-adresser.deny IP_ADDRESS | CIDR | all: Neka åtkomst från angivna IP-adresser.
Direktiven behandlas i ordning inom ett block. Den första matchande regeln gäller.
Konfigurera IP-åtkomstregler
Du kan ange enskilda IP-adresser, IP-intervall med CIDR-notation (t.ex. 192.168.1.0/24) eller all för att hänvisa till alla IP-adresser. Kom ihåg att ordningen spelar roll!
Om du till exempel vill tillåta en specifik IP-adress och neka alla andra anger du först allow och sedan deny all.
Exempel: IP-åtkomst med Nginx
Den här konfigurationen tillåter åtkomst till /private endast från 192.168.1.100 och alla IP-adresser inom nätverket 10.0.0.0/8, och nekar alla andra.
http {
# ... other http settings
server {
listen 80;
server_name example.com;
location / {
root /var/www/html;
index index.html;
}
location /private {
allow 192.168.1.100;
allow 10.0.0.0/8;
deny all;
root /var/www/private;
index index.html;
}
}
}Kombinera åtkomstkontroller
Du kan kombinera både grundläggande autentisering och IP-baserad åtkomstkontroll för ökad säkerhet. Nginx bearbetar reglerna sekventiellt.
- Först utvärderas de IP-baserade reglerna.
- Om IP-adressen tillåts kontrolleras därefter den grundläggande autentiseringen.
Det innebär att en begäran måste uppfylla båda regeluppsättningarna för att få åtkomst.
Snabb kontroll: Nginx-säkerhet
Betrakta följande konfigurationsutdrag från Nginx. En användare med IP-adressen 192.168.1.50 försöker få åtkomst till example.com/sensitive. Filen .htpasswd innehåller en giltig post för 'admin'.
Vad händer?
location /sensitive {
deny 192.168.1.0/24;
allow 192.168.1.50;
deny all;
auth_basic "Secure Area";
auth_basic_user_file /etc/nginx/.htpasswd;
}Sammanfattning: åtkomstkontroll i Nginx
I den här lektionen har du lärt dig hur du skyddar dina Nginx-resurser med hjälp av två viktiga metoder:
- Grundläggande HTTP-autentisering: Använder användarnamn och lösenord som lagras i en
.htpasswd-fil och konfigureras medauth_basicochauth_basic_user_file. Bör användas tillsammans med HTTPS. - IP-baserad åtkomstkontroll: Filtrerar begäranden baserat på IP-adresser med hjälp av direktiven
allowochdeny. Regelordningen är avgörande.
Dessa metoder ger grundläggande säkerhet för din Nginx-server och de applikationer som den betjänar.
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 ”Grundläggande autentisering och åtkomstkontroll” gratis?
Ja – hela texten till ”Grundläggande autentisering och åtkomstkontroll” 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 ”Grundläggande autentisering och åtkomstkontroll”?
Konfigurera grundläggande HTTP-autentisering och IP-baserad åtkomstkontroll för att skydda Nginx-resurser. 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 3 av 4.
Hur lång tid tar lektionen ”Grundläggande autentisering och åtkomstkontroll”?
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