Nginx je bezplatný, open-source webový server používaný na vyvažovanie záťaže, buffering a cachovanie. Od svojho vzniku v roku 2004 si Nginx získal popularitu vďaka škálovaniu webových serverov a reverznému proxy. Vďaka svojmu vysokému výkonu a vynikajúcim schopnostiam zvládať veľký objem pripojení sa používa na správu a riadenie prichádzajúcej prevádzky.
Ako funguje HTTP autentifikácia?
Pri základnej HTTP autentifikácii, všetky trasy na serveri sú zablokované a na autentifikáciu vyžadujú príslušné prihlasovacie údaje. Kedykoľvek sa používateľ pokúsi o prístup k zabezpečenému zdroju, server mu pošle hlavičku WWW-Authenticate a odpoveď 401 Unauthorized. Ak sú používateľské meno a heslo použité používateľom správne a zhodujú sa so súborom kľúčov, spojenie sa nadviaže, inak je odmietnuté.
V tomto návode vás prevedieme krokmi nastavenia základnej HTTP autentifikácie s Nginx na Ubuntu 20.04.
Požiadavky
Ak chcete postupovať podľa tohto návodu, budete potrebovať nasledovné:
- Najnovšiu verziu nainštalovaného Ubuntu vo vašom systéme.
- Systémoví používatelia musia mať práva sudo.
- Nainštalovaný a nakonfigurovaný Nginx na vašom serveri.
Krok 1: Aktualizácia softvérových repozitárov
Pred inštaláciou akéhokoľvek nového softvéru alebo balíka API vo vašom systéme obnovte repozitáre, aby ste predišli chybám alebo konfliktom balíkov. Na začiatok aktualizujeme softvér pomocou príkazu sudo príkazu:
|
1 |
sudo apt-get update |
Teraz, keď máme aktualizované softvérové repozitáre, nainštalujme potrebné apache2 balíky.
Krok 2: Inštalácia potrebných balíkov
Keďže nastavujeme HTTP autentifikáciu pre adresár, budeme používať príkaz htpasswd na vytvorenie šifrovaného hesla. Nainštalujte balík apache2-utils pomocou nasledujúceho príkazu:
|
1 |
sudo apt-get install apache2-utils |
Krok 3: Vytvorenie používateľa a hesla
V tomto kroku nastavíme prihlasovacie údaje pre základnú HTTP autentifikáciu. V koreňovom adresári vytvorte súbor .htpasswd priradený k používateľovi. Heslo bude zašifrované a názov súboru môže byť ľubovoľný podľa vášho výberu. Na vytvorenie súboru a pridanie používateľa so zašifrovaným heslom použite nasledujúci príkaz:
|
1 |
sudo htpasswd -c /etc/nginx/.htpasswd cloudsigma |

Potom overte novovytvorený súbor pomocou nasledujúceho príkazu:
|
1 |
cat /etc/nginx/.htpasswd |
Krok 4: Aktualizácia konfigurácie Nginx
Keď máme prihlasovacie údaje pre základnú HTTP autentifikáciu, nastavme Nginx a použime ho na našej cieľovej webovej stránke. Vyžadujeme direktívy auth_basic a auth_basic_user_file na nadviazanie základnej HTTP autentifikácie. Hodnota direktívy auth_basic je vo formáte reťazca, zatiaľ čo hodnota auth_basic_user_file je cesta k súboru s heslom vytvorenému v Kroku 3.
Je dôležité zahrnúť tieto dve direktívy do konfiguračného súboru cieľovej webovej stránky. Umiestnenie cieľovej webovej stránky nájdete v adresári /etc/nginx/sites-available adresári. Otvorte konfiguračný súbor pomocou editora nano:
|
1 |
sudo nano /etc/nginx/sites-available/default |
Potom pridajte obe tieto direktívy pod sekciu location :
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
. . . server_name localhost; location / { # Najprv sa pokúsiť obslúžiť požiadavku ako súbor, potom # ako adresár, potom prejsť na zobrazenie 404. try_files $uri $uri/ =404; # Odkomentujte na povolenie naxsi v tomto umiestnení # include /etc/nginx/naxsi.rules auth_basic "Private Property"; auth_basic_user_file /etc/nginx/.htpasswd; } . . . |
Po pridaní direktívy uložte a zatvorte konfiguračný súbor.
Krok 5: Reštartovanie Nginx
Ďalej znova načítajte alebo reštartujte služby Nginx, aby ste aplikovali zmeny na našom virtuálnom hostiteľovi. Potom sa pokúsime o prístup k zabezpečenej doméne pomocou našej základnej autentifikácie HTTP. Na aktiváciu služieb Nginx použite nasledujúci príkaz:
|
1 |
sudo service nginx reload |
Krok 6: Zabezpečený prístup na web
Po reštartovaní Nginx je ďalším krokom pokus o prístup k IP adrese alebo názvu domény vo vašom obľúbenom prehliadači. Po kliknutí na IP adresu http://your_domain_name/ vo vašom prehliadači sa otvorí výzva so žiadosťou o zadanie prihlasovacích údajov na overenie. Po zadaní správneho používateľského mena a hesla sa vám zobrazí predvolená domovská stránka Nginx.
Záver
V tomto návode sme sa naučili, ako nakonfigurovať základnú autentifikáciu HTTP pomocou Nginx. Základné overenie pomocou používateľského mena/hesla je len jednou z mnohých možností autentifikácie na nadviazanie zabezpečeného pripojenia v Nginx.
Existujú aj ďalšie výkonné možnosti používané na autentifikáciu servera. Medzi obľúbené metódy, ktoré môžete použiť, patria napríklad integrácie API, JSON Web Tokens, autentifikácie založené na kľúčoch SSH. Aj keď sa získanie robustných bezpečnostných mechanizmov môže spočiatku zdať zložité, sú vysoko účinné na ochranu vášho súkromia.
Okrem toho existuje mnoho ďalších vzdelávacích materiálov a návodov o Nginx, ku ktorým máte prístup z našich blogov:
- Prehľad algoritmov výberu blokov Server a Location v Nginx
- Inštalácia a konfigurácia Laravel s Nginx na Ubuntu 20.04
- Nastavenie Django s PostgreSQL, Nginx a Gunicorn na Ubuntu 20.04
Príjemnú prácu s počítačom!

Komentáre
Zatiaľ žiadne komentáre. Buďte prvý.