17.4. Esempi e situazioni reali

Ora proponiamo una interessante panoramica di esempi che possono essere implementati in situazioni reali, altri esempi sono reperibili presso la URL http://www.visolve.com/ è particolare l'attenzione che deve essere prestata nella implementazione delle ACL visto che in genere si può utilizzare l'acceleratore anche come proxy server.

17.4.1. Reverse Proxy di Server web o cluster HA installati su una macchina differente

il reverse proxy Squid funziona come acceleratore per un server web che rimane in ascolto su una macchina differente da quella sulla quale opera Squid

http_port 80 
acl allowed_hosts src 0.0.0.0/0.0.0.0 
http_access allow allowed_hosts 
httpd_accel_host 192.168.0.3 
httpd_accel_port 80 
httpd_accel_single_host on 
httpd_accel_with_proxy on
httpd_accel_uses_host_header off 
   

17.4.2. Reverse Proxy di server web installato sulla stessa macchina che esegue Squid

il reverse proxy Squid funziona come acceleratore per un server web installato sulla stessa macchina sulla quale viene eseguito Squid

http_port 80 
acl allowed_hosts src 0.0.0.0/0.0.0.0 
http_access allow allowed_hosts 
httpd_accel_host 127.0.0.1 
httpd_accel_port 81 
httpd_accel_single_host on 
httpd_accel_with_proxy on 
httpd_accel_uses_host_header off 
   

17.4.3. Reverse Proxy per domini multipli

il reverse proxy Squid funziona come acceleratore per domini multipli puntando a diversi server web che si trovano a valle dell'acceleratore e che possono essere più di uno, per far funzionare questo tipo di configurazione è necessario compilare Squid con il supporto per il DNS interno

% ./configure --disable-internal-dns
   

questa è l'opzione di configurazione che installa l'eseguibile dell'external dnsserver, vediamo ora un'esempio per questo tipo di configurazione

http_port 80 
acl allowed_hosts src 0.0.0.0/0.0.0.0 
http_access allow allowed_hosts 
httpd_accel_host virtual 
httpd_accel_port 80 
httpd_accel_single_host off 
httpd_accel_with_proxy on 
httpd_accel_uses_host_header off 
   

ora grazie al sistema del domain name system (DNS) si seleziona e si definisce il reverse proxy per i rispettivi domini, ad un indirizzo IP sulla rete pubblica internet possono corrispondere diversi nomi di dominio

www.merlinobbs.net 12.12.12.1
www.marsicalug.it  12.12.12.1 
www.plutonet.org   12.12.12.1 
   

definiamo delle entry nel domain name system a cui fa riferimento diretto il reverse proxy server. Sarà necessario configurare un sistema DNS falso (fake DNS) che risolve i nomi per la rete interna nella quale sono installati i server web reali, è anche possibile inserire delle entry nel file /etc/hosts.

www.merlinobbs.net 192.168.1.21 
www.marsicalug.it  192.168.1.30 
www.plutonet.org   192.168.1.7 
   

Attenzione: utilizzando la funzione httpd_accel_host verrà disabilitato il proxy-caching e il protocollo ICP. Se volete abilitare anche queste funzionalità si renderà necessario abilitare l'opzione httpd_accel_with_proxy.

17.4.4. SSL Reverse Proxy di un server web o di un cluster HA installato su una macchina differente

il reverse proxy Squid funziona come acceleratore SSL per un server web che rimane in ascolto su una macchina differente da quella sulla quale opera Squid

https_port 443 cert=/usr/local/squid/etc/key.crt \
key=/usr/local/squid/etc/key.key
httpd_accel_host 10.251.10.254
httpd_accel_port 80
httpd_accel_single_host off
httpd_accel_with_proxy on
httpd_accel_uses_host_header off