Torna al blog

Configurazione dell'autenticazione HTTP di base con Nginx su Ubuntu 20.04

Configurazione dell'autenticazione HTTP di base con Nginx su Ubuntu 20.04

Nginx è un server web gratuito e open-source utilizzato per il bilanciamento del carico, il buffering e il caching. Fin dalla sua nascita nel 2004, Nginx ha guadagnato popolarità per la scalabilità dei server web e il reverse proxying. Grazie alle sue elevate prestazioni e alle eccellenti capacità di gestire un grande volume di connessioni, viene utilizzato per gestire e controllare il traffico in entrata.

Come funziona l'autenticazione HTTP?

Nell'autenticazione HTTP di base, tutte le rotte sul server sono bloccate e richiedono le credenziali appropriate per l'autenticazione. Ogni volta che un utente tenta di accedere a una risorsa protetta, il server invia all'utente un header WWW-Authenticate e una risposta 401 Unauthorized. Se il nome utente e la password utilizzati dall'utente sono corretti e corrispondono al file delle chiavi, la connessione viene stabilita, altrimenti viene negata.

In questo tutorial, ti guideremo attraverso i passaggi per configurare l'autenticazione HTTP di base con Nginx su Ubuntu 20.04.

Prerequisiti

Per seguire questo tutorial, avrai bisogno di quanto segue:

Passo 1: Aggiornare i repository software

Prima di installare qualsiasi nuovo software o pacchetto API sul sistema, aggiorna i repository per evitare errori o conflitti tra pacchetti. Inizialmente, aggiorneremo il software utilizzando il comando sudo:

Ora che abbiamo aggiornato i repository software, installiamo i pacchetti apache2 necessari.

Passo 2: Installare i pacchetti necessari

Poiché stiamo configurando l'autenticazione HTTP per una directory, utilizzeremo il comando htpasswd per creare una password crittografata. Installa il pacchetto apache2-utils utilizzando il seguente comando:

Passo 3: Creare utente e password

In questo passo, configureremo le credenziali di autenticazione HTTP di base. Sotto la directory root, crea un file .htpasswd associato all'utente. La password sarà crittografata e il nome del file può essere a tua scelta. Usa il seguente comando per creare il file e aggiungere l'utente con una password crittografata:

User and Password

Successivamente, verifica il file appena creato utilizzando il seguente comando:

newly-created file

Passo 4: Aggiornare la configurazione di Nginx

Una volta ottenute le credenziali di autenticazione HTTP di base, configuriamo Nginx e utilizziamolo sul nostro sito web di destinazione. Sono necessarie le direttive auth_basic e auth_basic_user_file per stabilire l'autenticazione HTTP di base. Il valore della direttiva auth_basic è in formato stringa, mentre il valore di auth_basic_user_file è il percorso del file delle password creato nel Passo 3.

È importante includere le due direttive nel file di configurazione del sito web di destinazione. Troverai la posizione del sito web di destinazione nella directory /etc/nginx/sites-available directory. Apri il file di configurazione usando l'editor nano:

Quindi, aggiungi entrambe queste direttive sotto la sezione location:

Dopo aver aggiunto la direttiva, salva e chiudi il file di configurazione.

Passo 5: Riavviare Nginx

Successivamente, ricarica o riavvia i servizi Nginx per applicare le modifiche sul nostro host virtuale. Dopodiché, proveremo ad accedere al dominio protetto utilizzando la nostra autenticazione HTTP di base. Usa il seguente comando per attivare i servizi Nginx:

Passo 6: Accesso web sicuro

Una volta riavviato Nginx, il passo successivo consiste nel provare ad accedere all'indirizzo IP o al nome di dominio nel tuo browser preferito. Facendo clic sull'indirizzo IP http://your_domain_name/ nel tuo browser, si aprirà una finestra che ti chiederà di inserire le credenziali per l'autenticazione. Una volta inseriti il nome utente e la password corretti, vedrai la pagina iniziale predefinita di Nginx.

Conclusione

In questo tutorial, abbiamo imparato come configurare l'autenticazione HTTP di base con Nginx. L'autenticazione di base con nome utente/password è solo una delle tante opzioni di autenticazione per stabilire una connessione sicura in Nginx.

Esistono altre potenti opzioni utilizzate per l'autenticazione del server. Ad esempio, alcuni metodi popolari che puoi utilizzare includono integrazioni API, JSON Web Tokens, autenticazioni basate su chiavi SSH. Anche se ottenere meccanismi di sicurezza robusti può sembrare complicato all'inizio, sono altamente efficaci per salvaguardare la tua privacy.

Inoltre, ci sono molti altri materiali didattici e tutorial su Nginx a cui puoi accedere dai nostri blog:

Buon computing!

author

Shreyas Patil

Autore · CloudSigma

Preslav Dobrev è un designer creativo presso CloudSigma, con un focus su un'identità aziendale coerente attraverso l'uso di canali di marketing tradizionali e innovativi. È abile nel fondere la visione artistica con il marketing strategico per creare narrazioni di brand di grande impatto.

Commenti

Ancora nessun commento. Scrivi il primo.