Nginx je besplatan web poslužitelj otvorenog koda koji se koristi za uravnoteženje opterećenja, međuspremanje i predmemoriranje. Od svog nastanka 2004. godine, Nginx je stekao popularnost za skaliranje web poslužitelja i reverzno proksiranje. Zbog svojih visokih performansi i izvrsnih mogućnosti rukovanja velikim brojem veza, koristi se za upravljanje i kontrolu dolaznog prometa.
Kako funkcionira HTTP autentifikacija?
U osnovnoj HTTP autentifikaciji, sve rute na poslužitelju su blokirane i zahtijevaju odgovarajuće vjerodajnice za autentifikaciju. Kad god korisnik pokuša pristupiti zaštićenom resursu, poslužitelj mu šalje zaglavlje WWW-Authenticate i 401 Unauthorized odgovor. Ako su korisničko ime i lozinka koje korisnik koristi točni i podudaraju se s datotekom ključa, veza se uspostavlja, u suprotnom se odbija.
U ovom vodiču provest ćemo vas kroz korake postavljanja osnovne HTTP autentifikacije s Nginxom na Ubuntu 20.04.
Preduvjeti
Kako biste pratili ovaj vodič, trebat će vam sljedeće:
- Najnovija verzija instaliranog Ubuntua na vašem sustavu.
- Korisnici sustava moraju imati sudo privilegije.
- Nginx instaliran i konfiguriran na vašem poslužitelju.
Korak 1: Ažuriranje repozitorija softvera
Prije instaliranja bilo kojeg novog softvera ili API paketa na vaš sustav, osvježite repozitorije kako biste izbjegli pogreške ili sukobe paketa. Najprije ćemo ažurirati softver pomoću naredbe sudo :
|
1 |
sudo apt-get update |
Sada kada smo ažurirali repozitorije softvera, instalirajmo potrebne apache2 pakete.
Korak 2: Instalacija potrebnih paketa
Budući da postavljamo HTTP autentifikaciju za direktorij, koristit ćemo naredbu htpasswd za stvaranje šifrirane lozinke. Instalirajte paket apache2-utils pomoću sljedeće naredbe:
|
1 |
sudo apt-get install apache2-utils |
Korak 3: Stvaranje korisnika i lozinke
U ovom koraku postavit ćemo vjerodajnice za osnovnu HTTP autentifikaciju. Unutar korijenskog direktorija stvorite .htpasswd datoteku povezanu s korisnikom. Lozinka će biti šifrirana, a naziv datoteke može biti bilo koji po vašem izboru. Koristite sljedeću naredbu za stvaranje datoteke i dodavanje korisnika sa šifriranom lozinkom:
|
1 |
sudo htpasswd -c /etc/nginx/.htpasswd cloudsigma |

Zatim provjerite novostvorenu datoteku pomoću sljedeće naredbe:
|
1 |
cat /etc/nginx/.htpasswd |
Korak 4: Ažuriranje konfiguracije Nginxa
Nakon što imamo vjerodajnice za osnovnu HTTP autentifikaciju, postavimo Nginx i upotrijebimo ga na našoj ciljanoj web stranici. Za uspostavljanje osnovne HTTP autentifikacije potrebne su nam direktive auth_basic i auth_basic_user_file. Vrijednost direktive auth_basic je u obliku niza znakova, dok je vrijednost direktive auth_basic_user_file putanja do datoteke s lozinkom stvorene u Koraku 3.
Važno je uključiti ove dvije direktive u konfiguracijsku datoteku ciljane web stranice. Lokaciju ciljane web stranice pronaći ćete u direktoriju /etc/nginx/sites-available direktoriju. Otvorite konfiguracijsku datoteku pomoću uređivača nano:
|
1 |
sudo nano /etc/nginx/sites-available/default |
Zatim dodajte obje ove direktive pod odjeljak location:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
. . . server_name localhost; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; # Uncomment to enable naxsi on this location # include /etc/nginx/naxsi.rules auth_basic "Private Property"; auth_basic_user_file /etc/nginx/.htpasswd; } . . . |
Nakon dodavanja direktive, spremite i zatvorite konfiguracijsku datoteku.
Korak 5: Ponovno pokretanje Nginxa
Zatim ponovno učitajte ili ponovno pokrenite Nginx usluge kako biste primijenili promjene na našem virtualnom hostu. Nakon toga ćemo pokušati pristupiti osiguranoj domeni pomoću naše osnovne HTTP autentifikacije. Koristite sljedeću naredbu za aktivaciju Nginx usluga:
|
1 |
sudo service nginx reload |
Korak 6: Siguran pristup webu
Nakon što ponovno pokrenete Nginx, sljedeći korak je pokušaj pristupa IP adresi ili nazivu domene u vašem omiljenom pregledniku. Klikom na IP adresu http://your_domain_name/ u vašem pregledniku, otvorit će se prozor s upitom za unos vjerodajnica za autentifikaciju. Nakon što unesete ispravno korisničko ime i lozinku, vidjet ćete zadanu početnu stranicu Nginxa.
Zaključak
U ovom vodiču naučili smo kako konfigurirati osnovnu HTTP autentifikaciju s Nginxom. Osnovna autentifikacija korisničkim imenom/lozinkom samo je jedna od mnogih opcija autentifikacije za uspostavljanje sigurne veze u Nginxu.
Postoje i druge moćne opcije koje se koriste za autentifikaciju poslužitelja. Na primjer, neke popularne metode koje možete koristiti uključuju API integracije, JSON Web Tokene, autentifikacije temeljene na SSH ključevima. Iako se dobivanje robusnih sigurnosnih mehanizama u početku može činiti kompliciranim, oni su vrlo učinkoviti u zaštiti vaše privatnosti.
Nadalje, postoji mnogo drugih materijala za učenje i vodiča o Nginxu kojima možete pristupiti s naših blogova:
- Pregled algoritama za odabir Nginx poslužitelja i lokacijskih blokova
- Instalacija i konfiguracija Laravela s Nginxom na Ubuntu 20.04
- Postavljanje Djanga s PostgreSQL-om, Nginxom i Gunicornom na Ubuntu 20.04
Sretno s radom!

Komentari
Još nema komentara. Budite prvi.