Metodi di pagamento Abuse

Come configurare Auth Basic NGINX

14.03.2021, 22:14

Forse non avete mai pensato a cosa sia l'Auth Basic, ma sicuramente lo avete incontrato quando siete entrati nelle impostazioni del vostro router. Si tratta del meccanismo di autorizzazione tramite nome utente e password a livello di server web. Tale autorizzazione è supportata sia da Apache che da Nginx. In questa istruzione suggeriamo di considerare la questione di come configurare Auth Basic per un percorso specifico o un sito specifico.

Configurazione di Auth Basic in NGINX

Ecco come appare la finestra di autorizzazione di Auth Basic:

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

Ora si dovrebbe capire il senso di questa istruzione. È possibile configurare l'autorizzazione per un URL specifico, per l'intero sito o per tutti i siti. Ma la prima cosa da fare è creare un file con un elenco di utenti e password. A questo scopo utilizzeremo l'utility htpasswd. La sintassi del comando è la seguente:

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

In questo caso, l'opzione -c viene utilizzata per creare un nuovo file, non è necessario utilizzarla per modificare i file creati in precedenza. Ad esempio:

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

Basic Auth

Il programma effettua una doppia richiesta di password. Per motivi di sicurezza, la password non viene visualizzata, ma viene inserita. Una volta creato questo file, si può passare direttamente alla configurazione di Nginx.

Per proteggere con password tutte le risorse, è necessario aggiungere una direttiva alla sezione http del file /etc/nginx/nginx.conf:

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

настройка Nginx

Per proteggere un indirizzo di pagina specifico (URL), è necessario aggiungere una direttiva al blocco di posizione corrispondente. Potrebbe essere /wp-admin/admin-ajax.php:

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

настройка Nginx

Se il sito è su WordPress, è meglio posizionare il blocco location in location/. Tutte le regole descritte in precedenza funzioneranno, con in più una protezione. Se è necessario consentire l'accesso a una posizione specifica, la direttiva sarà simile a 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

L'elaborazione PHP dovrà essere aggiunta al blocco della posizione, altrimenti all'utente verrà richiesto di scaricare lo script a cui sta accedendo.

Pertanto, impostare l'accesso in Nginx non è troppo difficile. È sufficiente configurare correttamente il blocco di localizzazione.