Nginx je bezplatný, open-source webový server používaný pro vyrovnávání zátěže, buffering a cachování. Od svého vzniku v roce 2004 si Nginx získal popularitu pro škálování webových serverů a reverzní proxy. Díky svému vysokému výkonu a vynikajícím schopnostem zvládat velký objem připojení se používá ke správě a řízení příchozího provozu.
Jak funguje HTTP autentizace?
Při základní HTTP autentizaci, jsou všechny trasy na serveru zablokovány a k ověření vyžadují příslušné přihlašovací údaje. Kdykoli se uživatel pokusí o přístup k zabezpečenému prostředku, server mu odešle hlavičku WWW-Authenticate a odpověď 401 Unauthorized. Pokud jsou uživatelské jméno a heslo použité uživatelem správné a shodují se se souborem klíčů, spojení je navázáno, jinak je odmítnuto.
V tomto návodu vás provedeme kroky nastavení základní HTTP autentizace s Nginx na Ubuntu 20.04.
Požadavky
Chcete-li postupovat podle tohoto návodu, budete potřebovat následující:
- Nejnovější verzi nainstalovaného Ubuntu ve vašem systému.
- Systémoví uživatelé musí mít oprávnění sudo.
- Nainstalovaný a nakonfigurovaný Nginx na vašem serveru.
Krok 1: Aktualizace softwarových repozitářů
Před instalací jakéhokoli nového softwaru nebo balíčku API do systému obnovte repozitáře, abyste předešli chybám nebo konfliktům balíčků. Nejprve aktualizujeme software pomocí příkazu sudo:
|
1 |
sudo apt-get update |
Nyní, když máme aktualizované softwarové repozitáře, nainstalujme potřebné apache2 balíčky.
Krok 2: Instalace potřebných balíčků
Protože nastavujeme HTTP autentizaci pro adresář, použijeme příkaz htpasswd k vytvoření šifrovaného hesla. Nainstalujte balíček apache2-utils pomocí následujícího příkazu:
|
1 |
sudo apt-get install apache2-utils |
Krok 3: Vytvoření uživatele a hesla
V tomto kroku nastavíme přihlašovací údaje pro základní HTTP autentizaci. V kořenovém adresáři vytvořte soubor .htpasswd spojený s uživatelem. Heslo bude zašifrováno a název souboru může být libovolný. Pomocí následujícího příkazu vytvořte soubor a přidejte uživatele se zašifrovaným heslem:
|
1 |
sudo htpasswd -c /etc/nginx/.htpasswd cloudsigma |

Dále ověřte nově vytvořený soubor pomocí následujícího příkazu:
|
1 |
cat /etc/nginx/.htpasswd |
Krok 4: Aktualizace konfigurace Nginx
Jakmile máme přihlašovací údaje pro základní HTTP autentizaci, nastavme Nginx a použijme jej na našem cílovém webu. K vytvoření základní HTTP autentizace potřebujeme direktivy auth_basic a auth_basic_user_file. Hodnota direktivy auth_basic je ve formátu řetězce, zatímco hodnota auth_basic_user_file je cesta k souboru s hesly vytvořenému v Kroku 3.
Je důležité zahrnout tyto dvě direktivy do konfiguračního souboru cílového webu. Umístění cílového webu najdete v adresáři /etc/nginx/sites-available directory. Otevřete konfigurační soubor pomocí editoru nano:
|
1 |
sudo nano /etc/nginx/sites-available/default |
Poté přidejte obě tyto direktivy pod sekci location:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
. . . server_name localhost; location / { # Nejprve se pokusit vyřídit požadavek jako soubor, poté # jako adresář, poté se vrátit k zobrazení 404. try_files $uri $uri/ =404; # Odkomentujte pro povolení naxsi v tomto umístění # include /etc/nginx/naxsi.rules auth_basic "Private Property"; auth_basic_user_file /etc/nginx/.htpasswd; } . . . |
Po přidání direktivy uložte a zavřete konfigurační soubor.
Krok 5: Restartování Nginx
Dále znovu načtěte nebo restartujte služby Nginx, aby se změny projevily na našem virtuálním hostiteli. Poté se pokusíme o přístup k zabezpečené doméně pomocí našeho základního ověřování HTTP. K aktivaci služeb Nginx použijte následující příkaz:
|
1 |
sudo service nginx reload |
Krok 6: Zabezpečený přístup k webu
Jakmile restartujete Nginx, dalším krokem je pokusit se o přístup k IP adrese nebo doménovému jménu ve vašem oblíbeném prohlížeči. Po kliknutí na IP adresu http://your_domain_name/ ve vašem prohlížeči se otevře výzva k zadání přihlašovacích údajů pro ověření. Jakmile zadáte správné uživatelské jméno a heslo, uvidíte výchozí domovskou stránku Nginx.
Závěr
V tomto návodu jsme se naučili, jak nakonfigurovat základní HTTP ověřování v Nginx. Základní ověřování pomocí uživatelského jména a hesla je jen jednou z mnoha možností ověřování pro navázání zabezpečeného připojení v Nginx.
Existují i další výkonné možnosti používané pro ověřování serveru. Mezi oblíbené metody, které můžete použít, patří například integrace API, JSON Web Tokens, ověřování na základě SSH klíčů. I když se získání robustních bezpečnostních mechanismů může zpočátku zdát složité, jsou vysoce účinné pro ochranu vašeho soukromí.
Kromě toho existuje mnoho dalších výukových materiálů a návodů k Nginx, ke kterým máte přístup z našich blogů:
- Přehled algoritmů pro výběr bloků Server a Location v Nginx
- Instalace a konfigurace Laravelu s Nginx na Ubuntu 20.04
- Nastavení Django s PostgreSQL, Nginx a Gunicorn na Ubuntu 20.04
Přejeme příjemnou práci s počítačem!

Komentáře
Zatím žádné komentáře. Buďte první.