Scritto da tombo :
Il modulo Apache mod_proxy in un ambiente di produzione può risultare molto utile...
Io l'ho implementato per ridurre al minimo l'intervento sui firewalls nella intranet, ed aggregare risorse dalle potenzialità eterogenee.
Wrap di apache su tomcat
Apache offre diverse caratteristiche che ne rendono appetibile e consigliabile l'utilizzo rispetto al mero Tomcat.
Eseguire il wrap di Apache su Tomcat significa poter usufruire dei servizi generalmente offerti sulla porta 8081 sulla comune porta 80 riservata al web.
Per implementare il wrap va editato il file /opt/hpws/apache/conf/httpd.con e vanno abilitate le opportune funzionalita' del modulo apache mod_proxy.
Un esempio pratico
Con le seguenti direttive:
<VirtualHost *:80>
ServerAdmin tombo@adamantio.net
ServerName webservice.domain
<proxy *>
Order deny,allow
Allow from all
</proxy>
ProxyRequests Off
ProxyPreserveHost On
ProxyVia On
AllowCONNECT
ProxyPass /service http://localhost:8081/service
ProxyPass /RichserviceWeb http://localhost:8081/RichserviceWeb
ProxyPass /RispserviceWeb http://localhost:8081/RispserviceWeb
ProxyPass /cambiopassword https://ldap0service/cambiopassword
ProxyPass /mediawiki http://centos/mediawiki
ProxyPassReverse /cambiopassword https://ldap0service/cambiopassword
ProxyPassReverse /service http://localhost:8081/service
ProxyPassReverse /RichserviceWeb http://localhost:8081/RichserviceWeb
ProxyPassReverse /RispserviceWeb http://localhost:8081/RispserviceWeb
ProxyPassReverse /mediawiki http://centos/mediawiki
</VirtualHost>
una volta riavviato apache con i comandi
/sbin/init.d/hpws_apache stop
/sbin/init.d/hpws_apache start
Potremo fruire di un url che canonicamente e' http://webservice.domain:8081/service come http://webservice.domain/service.
Redirezione verso altri url
Se facciamo caso alle direttive
ProxyPass /mediawiki http://centos/mediawiki
ProxyPassReverse /mediawiki http://centos/mediawiki
noteremo come sia possibile redirezionare una pagina di un qualsiasi host interno verso un url del nostro server principale.
Pertanto sarà possibile accedere ad http://centos.domain/mediawiki mediante la url http://webservice.domain/mediawiki e così via...
Redirezione verso url SSL
Con le direttive
ProxyPass /cambiopassword https://ldap0service/cambiopassword
ProxyPassReverse /cambiopassword https://ldap0service/cambiopassword
sarà possibile accedere ad un url di un altro server in modalità https: Apache dovrà essere configurato con le SSL attive e funzionanti (basta abilitare il mod_ssl in webmin per i server HP).
Per apache 1.3 (ovvero per i server HP in esercizio) nel file /opt/hpws/apache/conf/ssl.conf dovrà essere presente la direttiva
SSLProxyEngine on
e poi prima del termine della direttiva , è necessario ripropagare le stesse direttive (quelle relative all'url https solamente) scritte nel file /opt/hpws/apache/conf/httpd.conf, come nell'esempio sottostante:
<proxy *>
Order deny,allow
Allow from all
</proxy>
ProxyRequests Off
ProxyPreserveHost On
ProxyVia On
AllowCONNECT
ProxyPass /cambiopassword https://ldap0service/cambiopassword
ProxyPassReverse /cambiopassword https://ldap0service/cambiopassword
</VirtualHost>
Pertanto sarà possibile accedere ad https://ldap0service.domain/cambiopassword mediante la url http://webservice.domain/cambiopassword e così via...