Configurazione Apache WebServer (in modalità HTTP)

Per pubblicare il servizio iShareDoc su Apache WebServer è necessario utilizzare il modulo mod_proxy e pubblicare i contesti /isharedoc e /isdstreaming. In configurazioni in cui è previsto l’utilizzo del modulo JOSSO SSO è necessario pubblicare anche il contesto /josso.

 

File /etc/httpd/vhosts.d/vhosts.conf

#
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
     Order deny,allow
     Allow from all
</Proxy>

#COREPA
<VirtualHost *:80>
    ServerName democorepa.grupposistematica.it

    ProxyPass /isharedoc/ http://192.168.2.183:5080/isharedoc/
    ProxyPassReverse /isharedoc/ http://192.183.2.183:5080/isharedoc/

    ProxyPass /isdstreaming/ http://192.168.2.183:5999/isdstreaming/
    ProxyPassReverse /isdstreaming/ http://192.168.2.183:5999/isdstreaming/

    # Se si utilizza JOSSO SSO
    ProxyPass /josso/ http://192.168.2.183:2080/josso/
    ProxyPassReverse /josso/ http://192.168.2.183:2080/josso/

</VirtualHost>

 

Configurazione Apache Tomcat

Nei casi in cui il servizio viene pubblicato tramite un reverse proxy Apache, tutte le richieste risulteranno provenienti dall’iIP del reverse proxy e quindi l’applicazione non sarà in grado di determinare l’IP del client da cui provengono le richieste. Come soluzione è possibile istruire Tomcat per utilizzare l’indirizzo indicato nell’header x-forwarded-for.

File $CATALINA_HOME/conf/server.xml

<Service name="Catalina">
   ...
   <Engine name="Catalina" defaultHost="localhost">
   ...
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
      ...
         <Valve
            className="org.apache.catalina.valves.RemoteIpValve"
            internalProxies="172\.18\.111\.52, 172\.18\.111\.53"
            remoteIpHeader="x-forwarded-for"
            proxiesHeader="x-forwarded-by"
            protocolHeader="x-forwarded-proto"
      />
      ...
      </Host>
   ...
   </Engine>
</Service>

nella proprietà internalProxies và indicato l’elenco degli IP dei proxy.

 

Debug Tomcat7 Valve RemoteIpValue

Modificare il file $CATALINA_HOME/conf/web.xml

<filter>
    <filter-name>requestdumper</filter-name>
    <filter-class>
        org.apache.catalina.filters.RequestDumperFilter
    </filter-class>
</filter>
<filter-mapping>
    <filter-name>requestdumper</filter-name>
    <url-pattern>*</url-pattern>
</filter-mapping>