Iespējams, nekad neesat īpaši domājis par to, kas ir Auth Basic, taču noteikti esat ar to saskāries, kad ieejat maršrutētāja iestatījumos. Tā tiek saukts autorizācijas mehānisms ar lietotājvārdu un paroli tīmekļa servera līmenī. Šādu autorizāciju atbalsta gan Apache, gan Nginx. Šajā instrukcijā piedāvājam aplūkot tādu jautājumu, kā konfigurēt Auth Basic konkrētam maršrutam vai konkrētai vietnei.
Šādi izskatās Auth Basic autorizācijas logs:
Tagad jums vajadzētu saprast, par ko ir šī instrukcija. Autorizāciju ir iespējams konfigurēt konkrētam URL, visai vietnei vai visām vietnēm. Taču vispirms ir jāizveido fails ar lietotāju un paroļu sarakstu. Šim nolūkam mēs izmantosim htpasswd utilītu. Komandas sintakse ir šāda:
$ sudo htpasswd -c /path/to/file username
Šajā gadījumā opcija -c tiek izmantota, lai izveidotu jaunu failu, jums nav nepieciešams to izmantot, lai rediģētu iepriekš izveidotos failus. Piemēram:
$ sudo htpasswd -c /etc/nginx/auth.basic admin
Programma izveidos dubultu paroles pieprasījumu. Drošības nolūkos parole netiek parādīta, bet tā tiek ievadīta. Kad esat izveidojis šādu failu, varat doties tieši uz Nginx konfigurāciju.
Lai aizsargātu visus resursus ar paroli, ir jāpievieno direktīva faila /etc/nginx/nginx.conf
sadaļā http
:
auth_basic "Restricted area";
auth_basic_user_file /etc/nginx/auth.basic;
Lai aizsargātu konkrētu lapas adresi (URL), ir jāpievieno direktīva attiecīgajam atrašanās vietas blokam. Tas varētu būt /wp-admin/admin-ajax.php:
location /wp-admin/admin-ajax.php {
auth_basic "Restricted area";
auth_basic_user_file /etc/nginx/auth.basic;
}
Ja vietne ir WordPress vietnē, vislabāk ir novietot atrašanās vietu
location/.
Darbosies visi iepriekš aprakstītie noteikumi, turklāt tiks nodrošināta aizsardzība. Ja nepieciešams atļaut piekļuvi konkrētai atrašanās vietai
, direktīva izskatīsies kā 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;
}
Vietas
blokam būs jāpievieno PHP apstrāde, pretējā gadījumā lietotājam tiks piedāvāts lejupielādēt skriptu, kuram viņš piekļūst.
Tādējādi piekļuves iestatīšana Nginx nav pārāk sarežģīta. Jums tikai pareizi jākonfigurē atrašanās vietas bloks.