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.
Így néz ki az Auth Basic engedélyezési ablak:
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
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;
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;
}
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;
}
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.