GNU/Linux >> Linux Esercitazione >  >> Linux

Proxy inverso con Nginx:una guida all'installazione passo passo

Questo tutorial dettagliato ti mostrerà come configurare facilmente un proxy inverso con Nginx per migliorare la sicurezza e le prestazioni.

Uno degli strumenti di proxy inverso più popolari al momento è Nginx. Sebbene Nginx stesso sia un server Web, svolge un lavoro eccezionale fungendo da proxy inverso.

Cos'è un proxy inverso?

Un proxy inverso è un server che si trova tra applicazioni interne e client esterni, inoltrando le richieste dei client al server appropriato.

Il servizio proxy inverso funge da front-end, gestisce tutte le richieste dei client in arrivo e le distribuisce al Web back-end, al database o ad altri server.

L'utilizzo di Nginx come proxy inverso offre numerosi vantaggi aggiuntivi:

  • Bilanciamento del carico – Nginx può eseguire il bilanciamento del carico per distribuire le richieste dei clienti su server proxy, migliorando le prestazioni, la scalabilità e l'affidabilità.
  • Sicurezza migliorata – Con un proxy inverso, i client non avranno informazioni sui nostri server back-end, quindi nessun client dannoso non può accedervi direttamente per sfruttare eventuali vulnerabilità. Dal punto di vista del cliente, questo fa sembrare che tutto provenga da un unico posto.
  • Prestazioni migliori – Con Nginx come proxy inverso, puoi memorizzare nella cache le versioni prerenderizzate delle pagine per accelerare i tempi di caricamento delle pagine. Funziona memorizzando nella cache il contenuto ricevuto dalle risposte dei server proxy e utilizzandolo per rispondere ai client senza contattare il server proxy ogni volta per lo stesso contenuto.
  • Risoluzione SSL – Nginx può fungere da endpoint SSL per le connessioni con i client. Gestirà e decrittograferà le connessioni SSL in entrata e crittograferà le risposte del server proxy.

Come Impostare un proxy inverso con Nginx

1. Installazione di Nginx

Nginx è la suite di server Web più popolare distribuita su Internet. Può funzionare come un server proxy inverso indirizzando il traffico web a server specifici.

Lascia che ti mostri come installare Nginx su varie distribuzioni Linux.

Per installare Nginx su Debian, Ubuntu, Linux Mint, Kali e altri derivati ​​Debian o Ubuntu, esegui i seguenti comandi:

sudo apt update
sudo apt install nginx

Su Fedora, CentOS, Red Hat e altri derivati ​​Fedora o Red Hat, esegui i seguenti comandi:

sudo dnf upgrade
sudo dnf install nginx

Per installare Nginx su Arch Linux, Manjaro e altri derivati ​​di Arch, esegui i seguenti comandi:

sudo pacman -Syu
sudo pacman -S nginx

Al termine dell'installazione, è possibile verificare che Nginx sia installato correttamente controllando la versione del software. Immettere quanto segue:

nginx -v
nginx version: nginx/1.18.0 (Ubuntu)

2. Configurazione di Nginx

Abbiamo installato il sito principale su example.com nome di dominio sullo stesso server che esegue il nostro Nginx. Tuttavia, il nostro sito blog WordPress è installato su blog.example.com sottodominio su un server diverso con indirizzo IP 127.0.1.10 .

Dobbiamo configurare un proxy inverso con Nginx per inoltrare richieste per blog.example.com sottodominio in modo che tutte le richieste vengano inoltrate a 127.0.1.10 . Per farlo, segui i passaggi mostrati di seguito.

1. Disabilita l'host virtuale Nginx preconfigurato predefinito:

unlink /etc/nginx/sites-enabled/default

2. Inserisci la directory /etc/nginx/sites-available e crea un file di configurazione del proxy inverso.

cd /etc/nginx/sites-available
sudo vim example.conf

Incolla la seguente configurazione di Nginx.

server {
        listen 80;
        server_name example.com www.example.com;

        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }
}

server {
        listen 80;
        server_name blog.example.com;

        location / {
                proxy_pass http://127.0.1.10:80;
        }
}

Come puoi vedere, puoi continuare a eseguire example.com sulla stessa istanza di Nginx, ma Nginx reindirizzerà tutte le connessioni in entrata per blog.example.com sulla porta 80 al 127.0.1.10 server, in ascolto sulla porta 80 .

3. Salva il file e poi attivalo creando un collegamento simbolico:

sudo ln -s /etc/nginx/sites-available/example.conf /etc/nginx/sites-enabled/

4. Testare Nginx per eventuali errori di configurazione:

sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

5. Se non ci sono errori, riavvia Nginx per rendere effettive le modifiche:

sudo systemctl restart nginx

Avvia un browser web e vai all'URL del tuo blog WordPress. Verrai indirizzato tramite Nginx a 127.0.1.10 , ospitando il tuo blog WordPress.

Congratulazioni, hai impostato correttamente Nginx per funzionare come proxy inverso. Ora puoi indirizzare il traffico che dovrebbe andare al server di destinazione al server proxy inverso, che finirà nella destinazione corretta.

Puoi saperne di più su tutte le direttive proxy inverse nell'indice dettagliato delle direttive di Nginx.

Conclusione

Ora sai come configurare un proxy inverso con Nginx. Come puoi vedere, la configurazione del proxy inverso di Nginx è un processo semplice. Ma, naturalmente, ci sono molti modi per installarlo e configurarlo, che dipendono interamente dalle tue esigenze.


Linux
  1. Come installare Flectra su CentOS 8 con Nginx come proxy inverso

  2. Come installare Odoo 14 su CentOS 8 con Nginx come proxy inverso

  3. Installa Odoo su un VPS Debian 8 con Nginx come proxy inverso

  4. Come installare Odoo 11 su Debian 9 con Nginx come proxy inverso

  5. Come installare Odoo 12 su Debian 10 con Nginx come proxy inverso

Come installare GlassFish con Nginx come proxy inverso su Debian 10

Come installare WildFly con Nginx come proxy inverso su Debian 10

Come configurare Nginx come proxy inverso per Apache su Debian 11

Come impostare il proxy inverso Nginx

Come configurare Nginx come proxy inverso per Apache su Ubuntu 18.04 VPS

Come configurare Tomcat con Nginx come proxy inverso su Ubuntu 18.04