mercoledì 17 ottobre 2012

Configurare filtro ISAPI su IIS 7.5 per Tomcat 7.0

L'operazione di configurazione del filtro isapi  consente di avere IIS come Web Server e di delegare l'esecuzione di codice Java Server Side (servlet,jsp, etc.) direttamente a Tomcat.
Le  entità necessarie per questa configurazione sono:
  • isapi_redirect.dll  plug in per iis (scaricabili qui ) prestando attenzione alle versioni a 64 bit o 32 bit a seconda del sistema operativo;
  • workers.properties , file dove si indicano host e porte usate dai cosiddetti "workers";
  • uriworkermap.properties, file che effettua la mappatura URL-workers;
  • isapi_redirect.properties,  file che definisce la locazione dei file uriworkermap e workers così come il percorso del file di log e i livelli di log
Si noti che in versioni precedenti di IIS non esisteva la possibilità di specificare il file isapi_redirect.properties e era necessario inserire chiavi di registro sul S.O.

Esempio di file .reg per il registro di Windows


REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0]
"server_root"="C:\\connettore\\"
"extension_uri"="/jakarta/isapi_redirector.dll"
"worker_file"="c:\\connettore\\conf\\workers.properties"
"log_file"="c:\\connettore\\logs\\isapi_redirect.log" 
"worker_mount_file"="c:\\connettore\\conf\\uriworkermap.properties"
"log_level"="DEBUG"


Tale opzione è ancora possibile ma sconsigliata in quanto il meccanismo del file di properties è più flessibile.
La isapi_redirect.dll può essere messa in una qualsiasi directory del server.
In questo esempio si trova sotto c:\connettore e il sistema operativo è windows Server 2008 a 64 bit.

isapi_redirect.properties

extension_uri=/jakarta/isapi_redirect.dll
log_file=c:\connettore\logs\isapi.log
log_level=debug
worker_file=c:\connettore\conf\workers.properties
worker_mount_file=c:\connettore\conf\uriworkermap.properties

L' extension_uri indica il path all'extension dell'isapi redirect, il nome jakarta in questo caso dovrà essere il nome della directory virtuale definita sotto IIS.
Da IIS infatti, nel Web Site scelto, si crea tale directory virtuale e quindi si aggiunge il filtro isapi che punta al percorso del file system dove si trova la isapi_redirect.dll ( vedi qui per ulteriori dettagli).

workers.properties


worker.list=myWorker
worker.myWorker.port=8009
worker.myWorker.host=localhost
worker.myWorker.type=ajp13
Questi dati si riferiscono alla configurazione del Tomcat che vogliamo esporre.
La porta utilizzata è la porta del connettore AJP di Tomcat. Tale configurazione si trova nel file server.xml dentro la directory conf di Tomcat. Il valore 8009 è quello di default.

uriworkermap.properties


/myApp=myWorker
/myApp/*=myWorker

Dove myApp sarà il nome del nostro war dentro Tomcat.


A questo punto se tutto è andato a buon fine digitando http://NOME_SERVER/myApp si verrà ridirezionati direttamente alla porta 8080 di Tomcat (http://NOME_SERVER:8080/myApp ), ovviamente l'indicazione ella porta non comparirà più nell'url perchè il raccordo tra indirizzo e applicazione deployata sotto Tomcat è fatto dal  filtro ISAPI


Nessun commento:

Posta un commento