|
|
|
|
Strumenti |
14-12-2018, 14:21 | #1 |
Member
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 "%r" %s %b" resolveHosts="false" /> </Host> </Engine> - 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! |
17-12-2018, 11:24 | #2 |
Member
Iscritto dal: May 2010
Messaggi: 61
|
Provo a riformulare in altra maniera che magari è più facile da capire cosa voglio ottenere.
Allora, ho una webapp deployata in tomcat/webapps/appname. Dopodichè a questo punto voglio poterla raggiungere tramite il nome dominio es www.mio_dominio.it (quindi non con www.mio_dominio.it/appname). Ed allo stesso modo voglio definire più domini per la stessa istanza della webapp però, ovvero fare in modo che da qualsiasi nome dominio si arrivi alla app, si vedranno sempre gli stessi dati di Runtime. Per fare ciò quindi qual'è la configurazione corretta da fare sul file conf/server.xml? Una di queste? Codice HTML:
<Host name="my_domain.eu" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Alias>www.my_domain.eu</Alias> <Alias>www.my_domain.it</Alias> <Alias>www.my_domain_2.it</Alias> <Context path="" docBase="appname" debug="0" privileged="true" /> ... </Host> Codice HTML:
<Host name="my_domain.eu" appBase="webapps/appname" unpackWARs="true" autoDeploy="true"> <Alias>www.my_domain.eu</Alias> <Alias>www.my_domain.it</Alias> <Alias>www.my_domain_2.it</Alias> <Context path="" docBase="appname" debug="0" privileged="true" /> ... </Host> Codice HTML:
<Host name="my_domain.eu" appBase="webapps/appname" unpackWARs="true" autoDeploy="true"> <Alias>www.my_domain.eu</Alias> <Alias>www.my_domain.it</Alias> <Alias>www.my_domain_2.it</Alias> <Context path="/appname" docBase="appname" debug="0" privileged="true" /> ... </Host> Codice HTML:
<Host name="my_domain.eu" appBase="webapps/appname" unpackWARs="true" autoDeploy="true"> <Alias>www.my_domain.eu</Alias> <Alias>www.my_domain.it</Alias> <Alias>www.my_domain_2.it</Alias> <!-- without context definition --> ... </Host> Grazie mille! |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:25.