Apache Reverse Proxy

By | luglio 26, 2017

In Linux c’è la possibilità di configurare un Apache Reverse Proxy. Esistono anche altri prodotti a tale scopo, che esamineremo successivamente.
Abilitiamo innanzitutto il pacchetto EPEL:

#rpm -ivh http://www.nic.funet.fi/pub/mirrors/fedora.redhat.com/pub/epel/6/i386/epel-release-6-8.noarch.rpm
#yum install libxml2-devel

In RedHat/CentOS, installiamo il pacchetto Apache e le relative dipendenze per renderlo a tutti gli effetti un Reverse Proxy.

#yum install httpd
#yum install libxml2-devel
#yum install mod_proxy_html

Assicuriamoci che nel file principale di configurazione di Apache (/etc/httpd/conf/httpd.conf) siano abilitati i seguenti moduli:

LoadModule  proxy_module         modules/mod_proxy.so
LoadModule  proxy_http_module    modules/mod_proxy_http.so
LoadModule  headers_module    modules/mod_headers.so
LoadFile /usr/lib64/libxml2.so

E che esista il file /etc/httpd/conf.d/proxy_html.conf dove al suo interno sono caricati i moduli:

LoadModule      proxy_html_module       modules/mod_proxy_html.so
LoadModule      xml2enc_module          modules/mod_xml2enc.so

Procediamo ora alla configurazione vera e propria. Prendiamo in considerazione i parametri:

IP Reverse Proxy: 192.168.144.230
URL Risorsa Web: http://test.home.dom/
URL da pubblicare: http://192.168.144.230/home/

Dobbiamo fare in modo che accedendo all’indirizzo http://192.168.1.230/home/ in realtà accederemo alla risorsa http://test.home.dom/ (senza che il client mostri il reale sito).
Innanzitutto settiamo il parametro “ProxyRequests” su “Off” in maniera tale da non rendere il nostro server un proxy Aperto e dichiariamo le variabili “ProxyPass” e “ProxyHTMLURLMap”, fondamentali per il nostro scopo:

ProxyRequests Off
ProxyPass     /home/    http://test.home.dome/
ProxyHTMLURLMap http://test.home.dom   /home/

Andiamo ora ad aprire una sezione “<Location>” dove indicheremo tutte le direttive da attribuire al path /home/ e in cui all’interno scriveremo la seguente configurazione:

        <Location /home/>
        ProxyPassReverse /
        ProxyHTMLEnable On
        ProxyHTMLURLMap /       /home/
        RequestHeader   unset   Accept-Encoding
        </Location>

Avviamo il servizio Apache

#/etc/init.d/httpd start

E proviamo ad accedere alla risorsa http://192.168.144.230/home/.
Il gioco è fatto!!!!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *