Způsoby platby Abuse

Jak nakonfigurovat Auth Basic NGINX

14.03.2021, 22:14

Možná jste nikdy nepřemýšleli o tom, co je to Auth Basic, ale určitě jste se s ním setkali, když jste vstoupili do nastavení svého routeru. Tak se nazývá mechanismus autorizace pomocí uživatelského jména a hesla na úrovni webového serveru. Takovéto autorizování je podporováno jak v Apache, tak v Nginx. V tomto návodu doporučujeme zvážit takovou otázku, jak nakonfigurovat Auth Basic pro konkrétní trasu nebo konkrétní web.

Konfigurace Auth Basic v NGINX

Takto vypadá okno autorizace Auth Basic:

Окно авторизации Basic Auth

Nyní byste měli pochopit, o čem je tento návod. Autorizaci je možné nakonfigurovat pro konkrétní adresu URL, pro celý web nebo pro všechny weby. Nejprve je však třeba vytvořit soubor se seznamem uživatelů a hesel. K tomuto účelu použijeme nástroj htpasswd. Syntaxe příkazu je následující:

$ sudo htpasswd -c /path/to/file username

V tomto případě se volba -c používá k vytvoření nového souboru, není třeba ji používat k úpravě dříve vytvořených souborů. Příklad: V příkladu je uveden příkaz htc:

$ sudo htpasswd -c /etc/nginx/auth.basic admin

Basic Auth

Program provede dvojí požadavek na zadání hesla. Z bezpečnostních důvodů se heslo nezobrazuje, ale zadává se. Po vytvoření takového souboru můžete přejít přímo ke konfiguraci Nginxu.

Chcete-li chránit heslem všechny zdroje, musíte přidat směrnici do části http souboru /etc/nginx/nginx.conf:

auth_basic "Restricted area";
auth_basic_user_file /etc/nginx/auth.basic;

настройка Nginx

Chcete-li chránit konkrétní adresu stránky (URL), je třeba přidat směrnici do příslušného bloku umístění. Může to být například /wp-admin/admin-ajax.php:

location /wp-admin/admin-ajax.php {
auth_basic "Restricted area";
auth_basic_user_file /etc/nginx/auth.basic;
}

настройка Nginx

Pokud je web ve WordPressu, je nejlepší umístit umístění do bloku location/. Všechna výše popsaná pravidla budou fungovat, navíc je zajištěna ochrana. Pokud potřebujete povolit přístup pro konkrétní umístění , bude směrnice vypadat jako auth_basic "off":

location /wp-admin/admin-ajax.php {
auth_basic "off";
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9002;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
}

создание location

Do bloku location bude třeba přidat zpracování PHP, jinak bude uživatel vyzván ke stažení skriptu, ke kterému přistupuje.

Nastavení přístupu v Nginxu tedy není příliš složité. Stačí jen správně nakonfigurovat blok umístění.