Fizetési módok Abuse

Hogyan kell beállítani az Auth Basic NGINX-et?

14.03.2021, 22:14

Lehet, hogy még sosem gondolt arra, hogy mi is az Auth Basic, de biztosan találkozott már vele, amikor az útválasztó beállításaiba lépett. Így hívják a webkiszolgáló szintjén a felhasználónév és jelszó alapján történő engedélyezés mechanizmusát. Az Apache és az Nginx is támogatja az ilyen jellegű engedélyezést. Ebben az utasításban olyan kérdéseket javasolunk, hogy hogyan kell beállítani az Auth Basic-et egy adott útvonalra vagy egy adott webhelyre.

Az Auth Basic beállítása az NGINX-ben

Így néz ki az Auth Basic engedélyezési ablak:

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

Most már meg kell értenie, miről szól ez az utasítás. Lehetőség van az engedélyezés konfigurálására egy adott URL-re, az egész webhelyre vagy az összes webhelyre. De először is létre kell hoznunk egy fájlt a felhasználók és jelszavak listájával. Ehhez a htpasswd segédprogramot fogjuk használni. A parancs szintaxisa a következő:

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

Ebben az esetben a -c opciót új fájl létrehozására használjuk, a korábban létrehozott fájlok szerkesztésére nem kell használni. Például:

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

Basic Auth

A program kétszeres jelszókérést végez. Biztonsági okokból a jelszó nem jelenik meg, hanem beírásra kerül. Miután létrehoztunk egy ilyen fájlt, közvetlenül az Nginx konfigurációjához léphetünk.

Az összes erőforrás jelszóval történő védelméhez az /etc/nginx/nginx.conf fájl http szakaszához kell hozzáadni egy direktívát:

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

настройка Nginx

Egy adott oldalcím (URL) védelméhez egy direktívát kell hozzáadni a megfelelő helyblokkhoz. Ez lehet a /wp-admin/admin-ajax.php:

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

настройка Nginx

Ha az oldal WordPress-en van, akkor a legjobb, ha a location/-be helyezi a helyet. A fent leírt összes szabály működni fog, ráadásul a védelem is biztosított. Ha egy adott helyre kell engedélyezni a hozzáférést, akkor az irányelv úgy fog kinézni, hogy 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

A PHP-feldolgozást hozzá kell adni a location blokkhoz, különben a felhasználónak le kell töltenie a szkriptet, amelyhez hozzáfér.

A hozzáférés beállítása az Nginxben tehát nem túl bonyolult. Csak a helyblokkot kell helyesen konfigurálni.