Http Basic Auth v Nginx
Návod, jak jednoduše nastavit Http Basic Auth pro webový server Nginx.
Pokud vznikne potřeba schovat webové stránky za nějaké jednoduché přihlášení a používáte webový server Nginx, tak lze velmi jednoduše využít Http Basic Auth mechanismus. Pokud používáte webový server Apache, podívejte se na článek Http Basic Auth s Apache serverem a .htaccess
Nastavení Http Basic Authentication je velmi jednoduché a rychlé. V podstatě nám stačí pouze vygenerovat si soubor s přihlašovacími údaji a vložit dva řádky do konfigurace domény v nginx.
Vytvoření souboru s přihlašovacími údaji je snadné. Můžeme k tomu buďto využít nějakou online službu, např. https://hostingcanada.org/htpasswd-generator/ nebo využít příkaz htpasswd
:
$ htpasswd -bcB .htpasswd username password
Tímto vygenerujeme soubor .htpasswd přímo v aktuálním adresáři a použité parametry -bcB definují:
- b - Heslo zadáváme přímo v příkazu.
- c - Požadovaný soubor chceme vytvořit. Pokud již soubor existuje, tak bude přepsán!
- B - Pro šifrování hesla použijeme bcrypt
Pokud příkaz htpasswd
nemáte k dispozici, lze si jej velmi snadno nainstalovat z balíčku apache2-utils (nebo httpd-tools v RedHat světě). V Debian/Ubuntu světě instalace velmi snadno pomocí:
# V Debianu jako root
apt install apache2-utils
# V Ubuntu pomocí sudo
sudo apt install apache2-utils
Přihlášení poté můžeme nastavit buďto pouze pro určitou část webu pomocí direktivy location:
location /api {
auth_basic "Login required";
auth_basic_user_file /path/to/.htpasswd;
}
Nebo snadno i pro komplet web umístěním přímo do definice serveru:
server {
...
auth_basic "Login required";
auth_basic_user_file /path/to/.htpasswd;
Podpora pro Basic Auth je v Nginx pouze základní a proto nelze, narozdíl třeba od Apache serveru, konkrétně specifikovat jaký uživatel se může přihlásit. Přihlásit se budou moci všichni uživatelé definovaní v auth souboru.
Pro kompletní možnosti nastavení doporučuji si projít oficiální dokumentaci Http Basic Auth v Nginx.
Mohlo by vás také zajímat
NGINX, PHP-FPM a memory_limit
Nastavení memory limitu pro PHP v konfiguraci NGINX a PHP-FPM
Číst víceNGINX a priorita zpracování location direktiv
V konfiguraci domény v NGINX můžete mít více location direktiv, které se svým nastavením překrývají. Zde je popis v jakém pořadí budou vyhodnoceny
Číst víceNGINX a nastavení cache u PHP generovaných obrázků a statických souborů
Správné nastavení cache u statického obsahu může znatelně zlepšit rychlost načítání stránek
Číst vícePotřebujete více informací?
Zpráva byla úspěšně odeslána.
Děkujeme
Omlouváme se, ale zprávu se nepovedlo odeslat.
Budeme rádi, když nám o tomto dáte vědět na info@id-sign.com