Maksutavat Abuse

Auth Basic NGINX:n määrittäminen

14.03.2021, 22:14

Et ehkä ole koskaan miettinyt, mikä Auth Basic on, mutta olet varmasti törmännyt siihen, kun olet mennyt reitittimesi asetuksiin. Tätä kutsutaan mekanismiksi, jossa valtuutus tapahtuu käyttäjätunnuksen ja salasanan avulla verkkopalvelimen tasolla. Sekä Apache että Nginx tukevat tällaista valtuutusta. Tässä ohjeessa ehdotamme pohdittavaksi sellaista kysymystä, miten Auth Basic voidaan konfiguroida tietylle reitittimelle tai tietylle sivustolle.

Auth Basicin määrittäminen NGINX:ssä

Tältä näyttää Auth Basic -valtuutusikkuna:

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

Nyt sinun pitäisi ymmärtää, mistä tässä ohjeessa on kyse. On mahdollista määrittää valtuutus tietylle URL-osoitteelle, koko sivustolle tai kaikille sivustoille. Ensimmäiseksi on kuitenkin luotava tiedosto, jossa on luettelo käyttäjistä ja salasanoista. Tätä varten käytämme htpasswd-apuohjelmaa. Komennon syntaksi on seuraava:

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

Tässä tapauksessa -c-vaihtoehtoa käytetään uuden tiedoston luomiseen, sitä ei tarvitse käyttää aiemmin luotujen tiedostojen muokkaamiseen. Esim:

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

Basic Auth

Ohjelma tekee kaksinkertaisen salasanapyynnön. Turvallisuussyistä salasanaa ei näytetä, vaan se syötetään. Kun olet luonut tällaisen tiedoston, voit siirtyä suoraan Nginxin konfigurointiin.

Jos haluat suojata kaikki resurssit salasanalla, sinun on lisättävä direktiivi /etc/nginx/nginx.conf-tiedoston http-osioon:

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

настройка Nginx

Jos haluat suojata tietyn sivun osoitteen (URL-osoitteen), sinun on lisättävä direktiivi vastaavaan location-lohkoon. Tämä voi olla esimerkiksi /wp-admin/admin-ajax.php:

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

настройка Nginx

Jos sivusto on WordPressissä, sijainti kannattaa sijoittaa location/-kohtaan. Kaikki edellä kuvatut säännöt toimivat, ja lisäksi tarjotaan suojaus. Jos haluat sallia pääsyn tiettyyn sijaintiin , direktiivi näyttää 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-käsittely on lisättävä location-lohkoon, muuten käyttäjää pyydetään lataamaan skripti, jota hän käyttää.

Näin ollen pääsyn määrittäminen Nginxissä ei ole kovin vaikeaa. Sinun on vain määritettävä location block oikein.