Betalingsmåter Abuse

Slik konfigurerer du Auth Basic NGINX

14.03.2021, 22:14

Du har kanskje aldri tenkt så mye på hva Auth Basic er, men du har helt sikkert støtt på det når du går inn i ruterens innstillinger. Det er det de kaller mekanismen for autorisasjon med brukernavn og passord på webservernivå. Slik autorisasjon støttes i både Apache og Nginx. I denne veiledningen foreslår vi at du tar for deg spørsmålet om hvordan du konfigurerer Auth Basic for en bestemt rute eller et bestemt nettsted.

Konfigurere Auth Basic i NGINX

Slik ser Auth Basic-autorisasjonsvinduet ut:

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

Nå bør du forstå hva denne instruksjonen handler om. Det er mulig å konfigurere autorisasjon for en bestemt URL, for hele nettstedet eller for alle nettstedene. Men det første du må gjøre, er å opprette en fil med en liste over brukere og passord. Til dette formålet bruker vi verktøyet htpasswd. Syntaksen til kommandoen er som følger:

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

I dette tilfellet brukes alternativet -c til å opprette en ny fil, og du trenger ikke bruke det til å redigere tidligere opprettede filer. Et eksempel

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

Basic Auth

Programmet vil be om et dobbelt passord. Av sikkerhetshensyn vises ikke passordet, men det tastes inn. Når du har opprettet en slik fil, kan du gå direkte til konfigurasjonen av Nginx.

Hvis du vil passordbeskytte alle ressurser, må du legge til et direktiv i http-delen av filen /etc/nginx/nginx.conf:

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

настройка Nginx

Hvis du vil beskytte en bestemt sideadresse (URL), må du legge til et direktiv i den tilsvarende plasseringsblokken. Dette kan være /wp-admin/admin-ajax.php:

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

настройка Nginx

Hvis nettstedet er på WordPress, er det best å plassere plasseringen i location/. Alle reglene som er beskrevet ovenfor, vil fungere, i tillegg til at de er beskyttet. Hvis du trenger å tillate tilgang for en bestemt plassering , vil direktivet se ut som 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

PHP-prosessering må legges til i lokasjonsblokken, ellers vil brukeren bli bedt om å laste ned skriptet de får tilgang til.

Dermed er det ikke så vanskelig å sette opp tilgang i Nginx. Du trenger bare å konfigurere lokasjonsblokken riktig.