Come impostare un proxy inverso per WordPress

Pubblicato: 2023-01-16

Come amministratore di WordPress, potresti trovarti in una situazione in cui devi configurare un server proxy inverso. Fortunatamente, la configurazione di un server proxy inverso è relativamente semplice e sono disponibili diversi pacchetti software che è possibile utilizzare. Questo articolo fornisce una breve panoramica della configurazione di un server proxy inverso per il tuo sito WordPress utilizzando NGINX.

Cosa sono i server proxy inversi e perché utilizzarli per WordPress

Un server proxy inverso recupera le risorse da uno o più server per conto di un client. Queste risorse vengono quindi consegnate al client senza un modo per stabilire che hanno avuto origine dal server proxy.

I proxy inversi sono utili perché possono nascondere l'esistenza e le caratteristiche del server di origine. Ad esempio, un proxy inverso può fornire un ulteriore livello di sicurezza, prestazioni e affidabilità per le applicazioni Web proteggendole da richieste dannose o grandi quantità di traffico.

Se sei curioso di saperne di più, ci sono molte risorse online per aiutarti a saperne di più sui server proxy inversi. Esistono diversi motivi comuni per cui potrebbe essere necessaria la configurazione di un server proxy inverso:

  • Prestazioni del sito migliorate con la memorizzazione nella cache dei contenuti

Un caso d'uso comune per un proxy inverso è la memorizzazione nella cache dei contenuti WordPress richiesti di frequente. Ad esempio, se un gruppo di server Web serve un sito Web, un proxy inverso può memorizzare nella cache il contenuto statico del sito Web (come pagine HTML, immagini e file CSS) su un singolo server. Ciò può migliorare le prestazioni del sito Web WordPress, poiché non è necessario recuperare il contenuto dai server Web ogni volta che un utente richiede una pagina.

  • Offload di attività ad alta intensità di CPU come il ridimensionamento delle immagini

Un server proxy inverso può scaricare le attività che richiedono un uso intensivo della CPU, come il ridimensionamento delle immagini, dal server WordPress inoltrando le richieste per queste attività a un server meglio attrezzato per gestirle. Questo può aiutare a migliorare le prestazioni del sito WordPress liberando risorse sul server WordPress per altre attività.

  • Maggiore sicurezza filtrando le richieste e bloccando il traffico dannoso

Un server proxy inverso può migliorare la sicurezza di WordPress filtrando le richieste e bloccando il traffico dannoso. Filtrando le richieste, il server proxy inverso può bloccare l'accesso a specifici indirizzi IP o regioni che sono note per essere associate ad attività dannose. Bloccando il traffico dannoso, il server proxy inverso può aiutare a mitigare gli effetti degli attacchi DDoS e di altri attacchi che prendono di mira i siti WordPress.

  • Rendere WordPress accessibile da un dominio o sottodominio diverso

Come accennato in precedenza, il server proxy inverso recupera le risorse da uno o più server per conto di un client. Queste risorse possono essere di qualsiasi tipo di file, ma più comunemente sono pagine web. Il server proxy inverso fornisce quindi al client queste risorse e queste appaiono come se provenissero dal server stesso. Questo viene fatto configurando il server proxy inverso per inoltrare le richieste di contenuto WordPress al server WordPress dando al client l'illusione di accedere al contenuto direttamente dal server proxy locale.

Server proxy inverso più popolari

Secondo W3Techs, circa l'83% dei siti Web non utilizza un servizio di proxy inverso. Il restante 17% è costituito principalmente da CDN, poiché i proxy inversi generalmente nascondono la loro presenza per motivi di sicurezza, rendendo difficile per i servizi di monitoraggio dei siti Web come W3Tech determinare quali sono i più utilizzati. Ecco le tre soluzioni di proxy inverso più comunemente utilizzate:

  • NGINX

NGINX è un server Web che offre molteplici vantaggi, come prestazioni migliorate, sicurezza, affidabilità e scalabilità. Puoi ottenerlo gratuitamente o utilizzare l'edizione commerciale, NGINX Plus, per i siti Web aziendali con possibilità di configurazione basate su API. Molte grandi aziende utilizzano NGINX: Cloudflare, Netflix, MaxCDN, tra gli altri. Configurare NGINX come proxy inverso è facile e puoi personalizzarlo per soddisfare le tue esigenze.

  • Vernice

Varnish è un tipo di software open source in grado di migliorare le prestazioni dei siti Web ad alto traffico. Funziona come proxy inverso, bilanciamento del carico, firewall per applicazioni Web e server di autenticazione edge e supporta Edge Side Include (ESI) per un caricamento più rapido della pagina. Puoi usarlo come front-end per i server Web NGINX o Apache o configurarlo come proxy inverso per WordPress.

  • Server di traffico Apache

Apache Traffic Server, un'opzione open source rinomata per le sue prestazioni e capacità, è stata sviluppata per la prima volta da Yahoo! come servizio commerciale prima di darlo via alla Apache Foundation. Attualmente è utilizzato da molte reti di contenuti e CDN, tra cui Akami, Apple, Comcast, LinkedIn e Yahoo per migliorare i propri sistemi. Inoltre, Apache HTTP Server (Apache httpd) può essere utilizzato per configurare un proxy inverso sul server Web che gli consenta di fornire contenuti statici e dinamici agli utenti pur continuando a funzionare come un normale server Web.

  • HAproxy

HAProxy è un proxy inverso open source gratuito e un sistema di bilanciamento del carico progettato per funzionare con molte architetture di server Web esistenti, come sistemi Linux e piattaforme basate su cloud. Utilizza un modello I/O basato sugli eventi e può distribuire le richieste su più processi di lavoro, in modo simile a NGINX. HAProxy è rinomato per la sua capacità di gestire grandi volumi di traffico anche durante i picchi di carico. È utilizzato da alcuni dei più grandi siti del mondo, come Airbnb, Reddit e Instagram.

Casi d'uso del server proxy inverso per i siti WordPress

Sebbene sia possibile utilizzare anche altri proxy inversi, NGINX è la scelta più popolare. Ecco i tre casi d'uso principali per la configurazione di un proxy inverso per i siti WordPress:

  • Sito Web principale e proxy su un unico server

Se hai sia il sito principale che quello proxy ospitati sullo stesso server Web, puoi impostare un proxy inverso in modo che il sito proxy venga caricato dal sito principale. Puoi farlo configurando tutte le regole del proxy inverso pertinenti sul sito principale e impostando il sito proxy per il caricamento tramite il proxy. Inoltre, se si utilizza un certificato SSL, devono essere presenti regole specifiche nel file wp-config.php per evitare loop di reindirizzamento. Si noti che è impossibile creare un URL con la stessa sottodirectory di quella utilizzata per caricare il sito.

  • Hosting solo del sito proxy sul tuo server

Per creare un proxy inverso, è necessario contattare l'amministratore del server del sito Web principale e configurare le regole su due server. Dovrebbe essere aggiunto anche un nome di dominio che punti al proxy inverso. Questo di solito viene fatto tramite un sottodominio (es. blog.tuo_dominio.com) che è collegato al sito proxy (es. tuo_dominio.com/blog). Tieni presente che avrai bisogno dell'indirizzo IP del server per completare il processo di configurazione.

  • Sito principale ospitato sul tuo server

Se puoi accedere solo al sito Web principale e al suo server di hosting, devi configurare un proxy inverso e modificarne le impostazioni in modo che la pagina venga estratta da un host esterno. Sarà responsabilità dell'amministratore del server secondario installare e configurare il sito proxy a cui accedere tramite il proxy inverso.

Passaggi per impostare un proxy inverso per WordPress

La configurazione di un proxy inverso per WordPress è un ottimo modo per migliorare le prestazioni del tuo sito web. Può anche aiutare a proteggere il tuo server web da richieste dannose e contribuire a migliorare l'esperienza dell'utente. Di seguito sono riportati i passaggi da eseguire per configurare un proxy inverso per WordPress.

  1. Installa un server proxy inverso

Il primo passaggio consiste nell'installare un server proxy inverso. Ti consigliamo di utilizzare il server web NGINX, che è gratuito e open source. È possibile utilizzare anche altri server Web popolari, come Apache, ma supponiamo che tu stia utilizzando NGINX per questo tutorial. Supponiamo che tu voglia utilizzare un proxy inverso NGINX (192.xx10) insieme a un server Web Apache (192.xx20) che è già attivo e funzionante.

Installare NGINX su un server Ubuntu è una questione di eseguire un singolo comando:

sudo apt-get update
sudo apt-get install nginx

Una volta installato NGINX, utilizzare questo comando per disabilitare l'host virtuale:

sudo unlink /etc/nginx/sites-enabled/default

Ora è il momento di creare un proxy inverso. Puoi farlo creando un file chiamato reverse-proxy.conf nella directory etc/nginx/sites-available. Prima di tutto, vai alla directory:

cd etc/nginx/sites-disponibile

Crea il file tramite l'editor vi:

vi reverse-proxy.conf

Aggiungere le seguenti righe al file:

server {
ascolta 80;
Posizione / {
proxy_pass http://192.xx20;
}
}

Come possiamo vedere, il passaggio proxy consente alle richieste provenienti dal proxy inverso di essere passate a 192.xx20:80, il socket remoto del server principale. In altre parole, entrambi i server condividono il contenuto. Al termine, salva il file ed esci dall'editor. Per inoltrare informazioni ad altri server, usa ngx_http_proxy_module nel terminale. Infine, devi attivare le direttive collegandoti a /sites-enabled/ con questo comando:

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

Tutto ciò che resta da fare è testare il proxy inverso. È necessario eseguire un test di configurazione e riavviare NGINX per verificarne le prestazioni. Usa il comando seguente per verificare se NGINX funziona:

test di configurazione del servizio nginx
riavvio del servizio nginx

Nel caso in cui il test fallisca, significa che probabilmente Apache non è configurato correttamente.

Limitazioni del server proxy inverso

Un proxy inverso può presentare un grave rischio per la sicurezza perché può osservare e modificare tutto il traffico che lo attraversa. Se il traffico HTTPS viene inviato tramite il proxy inverso, i dati devono essere decrittografati e nuovamente crittografati, il che richiede le chiavi private del certificato SSL/TLS. Se un hacker ottiene l'accesso a questo proxy inverso, ha la possibilità di registrare le password e inserire codice dannoso nei siti web.

Un proxy inverso può creare un singolo punto di errore se né tu né i tuoi utenti potete accedere direttamente al server principale. Ad esempio, se un proxy inverso serve più domini, qualsiasi interruzione renderà inaccessibili tutti quei siti. Se viene utilizzato un proxy inverso di terze parti, non dimenticare che stai condividendo dettagli importanti sul sito con loro.

Conclusione

La configurazione di un proxy inverso per WordPress può giovare alla sicurezza e alle prestazioni del sito web. I passaggi per impostare un proxy inverso per WordPress variano a seconda del server e della configurazione. In genere, includono la configurazione del server proxy, l'impostazione del server Web di back-end e l'impostazione del sito WordPress. Sebbene la configurazione di un server proxy inverso possa essere vantaggiosa, presenta dei limiti.