.: HosiriS :.

Informatica e non solo

Usiamo il modulo proxy di Apache

Posted by hosiris su ottobre 27, 2011

La progettazione di I.H.Sys. mi sta costringendo a rivedere di continuo gli schemi architetturali del sistema in modo da poter sfruttare al meglio l’hardware di bassa potenza a mia disposizione.
Una delle ultime modifiche mi ha portato a decentralizzare il mio unico web server (Osiride) in modo che applicazioni web fortemente basate su php non influiscano troppo sul carico del server. Quindi, sfruttando la configurazione di bind sulla mia VPN riesco a puntare ogni applicazione senza problemi.
Ma cosa succede all’esterno della VPN?

Semplice tutto quello che non sta su Osiride è apparentemente irrangiugibile; cosa che da una parte non mi dà molto dispiacere (per motivi di sicurezza), ma che di certo limita molto le mie attività. Ma come possiamo mantenere questo livello di sicurezza, suddividere il carico su più server e al contempo mantenere l’accessibilità ai servizi?
La risposta ci viene data da un modulo di Apache: mod_proxy. Non spiegherò a cosa serve visto che la documentazione è molto esplicativa, ma mostrerò una configurazione basilare che ci permetterà di risolvere il nostro problemino.

Come prima cosa dovremmo installare ciò che ci manca:


# apt-get install libapache2-mod-proxy-html

e abilitiamo i seguenti moduli:


# a2enmod proxy
# a2enmod proxy-html
# a2enmod headers

Tipicamente un proxy viene attivato quando le politiche di sicurezza applicate all’interno di una LAN rendono difficoltoso l’accesso ad internet, fornendo quindi un possibile percorso verso l’esterno (oltre tante altre belle cose che non sto qui ad elencare).
Noi però sfrutteremo una capacità opposta a quella descritta (infatti si chiama reverse proxy), cioè la possibilità di associare ad un determinato URL un indirizzo remoto.

La struttura ipotizzata è la seguente:

Apriamo il file del nostro virtualhost (mi pare di aver già accennato che io lavoro solo basandomi su virtualhost, ma è comunque possibile usare il file generico) ed in un punto qualsiasi inseriamo le seguenti righe:


#/etc/apache2/site_enabled/xxx-myserver.net
ProxyRequests off
ProxyPass /web/ http://10.0.0.2/
ProxyHTMLURLMap http://10.0.0.2/ /web
<Location /ihsys/>
    Order allow,deny
    Allow from all
    ProxyPassReverse /
    ProxyHTMLURLMap / /web/
    RequestHeader unset Accept-Encoding
</Location>

La configurazione non è affatto complessa, e possiamo notare come sia una semplice mappatura di indirizzi, alla pari della configurazione del file “host” per la risoluzione dei nomi.
Beh, non ci resta che riavviare Apache e puntare all’indirizzo http://myserver.net/web/&#8230; surprise!!! Come potete ben notare il risultato è identico a quello ottenuto se, dalla nostra VPN, avessi puntato all’indirizzo http://10.0.0.2.

Le potenzialità del modulo proxy non finiscono qua! Ma questa è un’altra storia, per il momento: Buon divertimento!

Una Risposta to “Usiamo il modulo proxy di Apache”

  1. […] Usiamo il modulo proxy di Apache ::: HosiriS […]

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

 
%d blogger cliccano Mi Piace per questo: