View Single Post
Old 14-12-2018, 14:21   #1
GiangiTerracina
Member
 
L'Avatar di GiangiTerracina
 
Iscritto dal: May 2010
Messaggi: 61
[Tomcat] problema con Host/Alias e Contesti

Salve a tutti,
è la mia prima volta qui.

Veniamo al dunque, ho sviluppato una webapp in jsp e deployata in Tomcat su un cloud server.


A fine lavori, per rendere il sito raggiungibile tramite indirizzo "normale" (www.mio_dominio.it) ho fatto il port forward da 80 ad 8080 ed associato il dominio registrato per la webapp editando il file server.xml (in tomcat/conf), in questa maniera:
Codice HTML:
 <Host name="localhost"  appBase="webapps"...
    </Host>
        <Host name="mio_dominio.it" appBase="webapps" unpackWARs="true" autoDeploy="true">
                <Alias>www.mio_dominio.it</Alias>
                <Context path="" docBase="cartella_app" debug="0" privileged="true" />
                <Context path="/app_data" docBase="/home/cloud/app_data" />
                <Valve className="org.apache.catalina.valves.AccessLogValve"
                 directory="logs"   prefix="localhost_access_log." suffix=".txt"
                 pattern="%h %l %u %t &quot;%r&quot; %s %b" resolveHosts="false" />
        </Host>
    </Engine>
Ok, funziona tutto bene, ma il problema è che ora è come se ci fossero due istanze della webapp in esecuzione:
- una sotto: www.mio_dominio.it
- e una sotto: www.mio_dominio.it/cartella_app

Facendo un po di debug ho provato a stampare il risultato di application.getContextPath() ed infatti il risultato è che ci sono due contesti in esecuzione:
- restituisce "una stringa vuota" per www.mio_dominio.it/index.jsp
- e "/cartella_app" per www.mio_dominio.it/cartella_app/index.jsp

la conseguenza ovviamente è che le modifiche fatte in Runtime sotto un contesto (es.inserimento eventi da parte dell'utente) non si rispecchiano nell'altro contesto (a meno di riavviare Tomcat) ...in poche parole in www.mio_dominio.it/index.jsp vedo le informazioni vecchie, mentre in www.mio_dominio.it/cartella_app/index.jsp vedo le modifiche fatte dall'utente.


Visto che sono abbastanza nuovo dell'argomento non capisco dove sbaglio, dovrei cambiare il path del contesto (per l'host mio_dominio.it) in "/cartella_app"?
Oppure dovrei cambiare l' appBase in "webapps/cartella_app"?


Oppure ancora forse sbaglio a caricare il WAR della webapp tramite il Tomcat Manager App che raggiungo dall'indirizzo cloud_server_IP:8080?
Dovrei forse abilitare un Tomcat Manager specifico per mio_dominio.it:8080?

Grazie a tutti per l'attenzione!
GiangiTerracina è offline   Rispondi citando il messaggio o parte di esso