← Back to blog

Una guida sull'estensione mod_proxy: utilizzare Apache come reverse proxy

Category
Una guida sull'estensione mod_proxy: utilizzare Apache come reverse proxy

Introduzione

Le estensioni di terze parti sono aggiunte estremamente utili. Queste rendono la tua esperienza di configurazione e di lavoro con un server, come Apache HTTP, molto più semplice e agevole. In caso di necessità, puoi persino utilizzare alcuni di questi moduli in Apache per eseguire un reverse proxy. Puoi rimuovere un livello dalla configurazione del tuo server oppure puoi utilizzare un modulo per reindirizzare le connessioni.

In questa guida parleremo di Apache e dei vari moduli associati alla piattaforma server, come mod_proxy. Vedremo anche come utilizzarlo come reverse proxy per reindirizzare le connessioni ai tuoi server applicativi backend.

Cos'è Apache?

Apache è un server HTTP che viene comunemente utilizzato per scopi legati al web. Ma puoi usarlo per una varietà di motivi e su diverse piattaforme. Puoi installare il tuo server web Apache su Ubuntu seguendo il nostro tutorial passo-passo. Inoltre, segui questo tutorial per imparare a proteggere il tuo server Apache con Let’s Encrypt. Puoi anche dare un'occhiata a come configurare i virtual host di Apache su Ubuntu 20.04.

Puoi esplorare ulteriormente le funzioni e l'implementazione di Apache con l'aiuto di moduli esterni. Si tratta di moduli di terze parti che puoi utilizzare per eseguire varie attività relative a connessioni e configurazioni. Ad esempio, puoi utilizzare il modulo mod_rewrite per eseguire la riscrittura degli URL basata su regole. Un altro di questi moduli è mod_proxy. Quest'ultimo modulo è ampiamente sottoutilizzato nella community. Principalmente perché molte persone non sono a conoscenza dell'estensione delle sue funzionalità e applicazioni. Mod_proxy, come suggerisce il nome, può aiutarti a configurare un gateway o un proxy per i server backend.

Esploriamo l’uso di mod_proxy in dettaglio e come puoi usarlo come reverse proxy.

Mod_proxy: Usare Apache come Reverse Proxy

Come probabilmente avrai intuito, mod_proxy è un modulo. Si tratta di un modulo di Apache che puoi utilizzare per stabilire e reindirizzare varie connessioni. Puoi anche attivarlo e configurarlo come qualsiasi altro modulo sul tuo sistema. La particolarità di mod_proxy è che non si tratta di un solo modulo. Infatti, comprende una raccolta di diversi moduli che troverai di seguito. Ognuno di questi ha una propria funzione da svolgere. In questo modo, mod_proxy ti offre una grande diversità di funzionalità.

Dai un'occhiata ai seguenti moduli di mod_proxy:

mod_proxy

Questo è il modulo proxy principale. In Apache, puoi utilizzare questo modulo per configurare e gestire varie connessioni. Può anche aiutarti a reindirizzare le connessioni.

mod_proxy_http

Come suggerisce il nome, questo modulo gestisce i protocolli HTTP e HTTPS. Puoi utilizzare questo modulo per implementare le funzionalità proxy di questi protocolli.

mod_proxy_ftp

Mod_proxy_ftp serve quando si gestisce il protocollo FTP.

mod_proxy_connect

Questo modulo è utile quando si esegue il tunneling SSL.

mod_proxy_ajp

Puoi usare mod_proxy_ajp quando lavori con il protocollo AJP.

mod_proxy_wstunnel

Questo è utile quando si lavora con i web socket come WS e WSS.

mod_proxy_balancer

Se desideri accedere alle funzionalità di bilanciamento del carico e clustering, puoi utilizzare questo modulo.

mod_cache

Il modulo mod_cache è utile, come prevedibile, a scopo di caching.

mod_headers

Puoi utilizzare questo modulo per gestire gli header creati utilizzando il protocollo HTTP.

mod_deflate

Questo modulo viene utilizzato a scopo di compressione.

Se desideri conoscere ancora più dettagli su questi moduli, puoi visitare il sito ufficiale di Apache. Anche la documentazione ufficiale ti fornisce maggiori informazioni su mod_proxy e su Apache stesso.

Come installare Apache e mod_proxy?

Ecco alcuni passaggi facili da seguire per installare Apache e mod_proxy sul tuo sistema:

  1. Preparare il server

Prima di tutto, devi assicurarti che il tuo server cloud sia pronto. Per fare questo, devi aggiornare il tuo sistema operativo e il software associato alle versioni più recenti.

Usa i seguenti comandi per aggiornare le tue applicazioni:

  1. Installare il pacchetto dei componenti essenziali

Una volta preparato il server, è necessario equipaggiarlo con gli strumenti essenziali. A questo scopo, devi installare il pacchetto build-essential. Questo pacchetto consiste in tutti gli strumenti di base necessari per installare programmi dai sorgenti. Puoi installarlo con questo comando:

  1. Ottieni i moduli e le dipendenze

Infine, è necessario installare i moduli e le dipendenze. Puoi farlo eseguendo il seguente comando:

Attivazione dei moduli: come configurare Apache con connessioni proxy?

Prima ancora di passare alla configurazione di Apache, è necessario attivare i moduli. Questi moduli ti aiuteranno a effettuare le configurazioni necessarie e a eseguire varie attività.

Per cominciare, devi verificare quali moduli sono già attivi sul tuo sistema. Non solo, ma devi anche assicurarti che tutti i moduli siano installati correttamente e possano essere abilitati. L'esecuzione di questo comando mostrerà tutti i moduli disponibili sul tuo server Apache:

a2enmod output

Come puoi vedere, la risposta mostra tutti i moduli disponibili sotto forma di un elenco dettagliato. Scorri questo elenco e stabilisci quali moduli desideri attivare. Per farlo sapere ad Apache, puoi utilizzare il seguente comando e inserire i moduli desiderati al posto degli esempi:

D'altra parte, puoi anche attivare ogni modulo singolarmente. Per farlo, utilizzeresti i seguenti comandi:

Alcuni moduli saranno probabilmente attivati per impostazione predefinita sul tuo server. Potresti chiederti come confermare che siano abilitati. Per assicurarti che il modulo desiderato sia attivo, puoi provare ad attivarlo due volte. Questo garantirà che il modulo sia abilitato.

  1. Modificare le impostazioni di configurazione predefinite

Per prima cosa, devi modificare le impostazioni di configurazione predefinite. Per farlo, devi accedere al file di configurazione predefinito che è 000-default.conf. Questo file si trova all'interno di /etc/apache2/sites-enabled. Dobbiamo modificarlo in modo tale che acquisisca la funzione di proxy.

Inizierai aprendo l'editor di testo nano per modificare l'host virtuale predefinito. Puoi farlo eseguendo questo comando:

Ci riferiremo collettivamente a mod_virtual host e mod_proxy come host virtuale proxy. Ora puoi implementare le seguenti impostazioni di configurazione. Puoi apportare le modifiche necessarie come ritieni opportuno per il tuo sistema e le tue esigenze:

Puoi salvare e uscire premendo Ctrl + X e confermando con Y.

  1. Attivare la funzione di bilanciamento del carico

Il bilanciamento del carico ti aiuta a distribuire efficacemente le connessioni sul tuo proxy. Questa è un'idea molto utile per quando utilizzi più server applicativi backend invece di uno solo. La funzione di bilanciamento del carico distribuirà la connessione o il "carico".

Per abilitare questa funzione, devi ripetere i passaggi menzionati in precedenza in questa guida. Tuttavia, è necessario utilizzare le seguenti impostazioni di configurazione durante la configurazione dell'host virtuale:

  1. Attiva il supporto Reverse Proxy

Dovrai fare in modo che un host virtuale supporti il tuo reverse proxy se stai lavorando con connessioni SSL e certificati. Questo host virtuale secondario deve avere le seguenti impostazioni. Dovrai eseguire le istruzioni dei passaggi precedenti. Tutto ciò che devi fare è sostituire le opzioni di configurazione con quelle menzionate di seguito:

Sarà inoltre necessario abilitare il modulo SSL affinché la configurazione sopra indicata funzioni:

  1. Riavvia Apache

Tutte le configurazioni sono state completate. Infine, puoi riavviare il tuo server Apache per applicare le modifiche. Puoi riavviare Apache eseguendo il seguente comando:

Conclusione

Ecco fatto! Hai configurato con successo un gateway reverse proxy nel tuo server Apache. Ora Apache reindirizzerà le connessioni in entrata ai tuoi server applicativi nel backend.

Il bello di questo processo è che richiede pochissimo sforzo ed è piuttosto semplice. Ora che conosci i passaggi esatti per arrivarci, non dovresti avere alcun problema a configurare un reverse proxy in Apache.

Buon divertimento!

Akshay Nagpal

Autore · CloudSigma

Commenti

Ancora nessun commento. Scrivi il primo.