[TOMCAT] Domein mappen via Apache naar Tomcat

Pagina: 1
Acties:

  • bodiam
  • Registratie: December 2001
  • Laatst online: 31-12-2024
Okee, dit is geen vraag hoe ik Tomcat kan koppelen aan Apache. Daar zijn genoeg tutorials over, en dat is me ook wel gelukt. De reden voor Apache 2 + Tomcat 5.5 is overigens dat ik naast Java ook PHP wil gebruiken.

Waar ik op dit moment wel problemen mee heb is het mappen van domeinnamen naar webapps van Tomcat.

Tomcat draait op poort 8080 en verbonden via AJP naar Apache. Als ik een webapp aanroep, doe ik dat via http://localhost:8080/<naam webapp>, bijvoorbeeld http://localhost:8080/test . Daarnaast heb ik een domeinnaam, www.test.nl .

Graag zou ik de webapp op die domeinnaam niet aanroepen door www.test.nl/test te doen (zoals het nu geconfigureerd is), maar ik zou het liefst zien dat een request naar www.test.nl automatisch naar de webapp test gaat.

Google biedt helaas geen soelaas, maar het is ook lastig zoeken, omdat ik niet precies een omschrijving weet voor hetgeen ik nar op zoek ben.

Ter info, mijn config files (aanpast om mijn voorbeeld te demonsteren):
workers.properties
code:
1
2
3
4
5
6
7
8
9
10
11
12
workers.tomcat_home=/usr/share/tomcat5
workers.java_home=$JAVA_HOME
ps=/
worker.list=default

worker.default.port=8009
worker.default.host=localhost
worker.default.type=ajp13
worker.default.lbfactor=1

[uri:www.test.nl:80/test/*]
debug=10


mod_jk.conf
code:
1
2
3
4
5
6
7
8
9
10
#
# Mod_jk settings
#
JkWorkersFile "/etc/apache2/workers.properties"
JkLogFile "/var/log/apache2/mod_jk.log"

JkLogLevel error
JkMount /test/* default

# End of mod_jk settings


Thanks for any help

  • Graaf
  • Registratie: Oktober 2001
  • Laatst online: 20-03-2024

Graaf

blup

Dit is zoals ik het in een van mijn virtualhosts configs heb staan.

<IfModule mod_jk.c>
JkMount /*.jsp ajp13
JKMount /*.db ajp13
</IfModule>

Dus ipv alles van /test/ ( /test/* ) naar de default te mappen, zet je dus al jsp / db files hiero naar in dit geval ajp13

JkMount /*.jsp default zou bij jou waarsch erg goed gaan werken.

  • bodiam
  • Registratie: December 2001
  • Laatst online: 31-12-2024
JkMount /*.jsp default zou bij jou waarsch erg goed gaan werken.
Sorry voor de onduidelijkheid, maar mijn jsp's compileren zonder problemen. Alleen om die JSP's aan te roepen, moet ik www.domeinnaam.nl/naamvanwebapp/naamvanjsp.jsp intikken.

Ik zou graag van die naamvanwebapp af willen, dus dat www.domeinnaam.nl/naamvanjsp.jsp automatisch doorgemapped wordt naar http://tomcatwebserver:poort/naamvanwebapp/naamvanjsp.jsp

Ik wil de naam van de webapp graag verborgen houden voor de buitenwereld, en per domeinnaam maar 1 webapp hebben.

  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
Hoe heb je het geconfigureerd in server.xml? <Host name="www.test.com" ...> werkt bij mij.

  • bodiam
  • Registratie: December 2001
  • Laatst online: 31-12-2024
Ik heb het toegevoegd, en bij mij werkt het ook! Dat is ook precies hoe het zou moeten werken. Echter, Apache staat voor Tomcat.

Apache moet beslissen hoe de request afgehandeld dienen te worden. Standaard worden deze door Apache afgehandeld, tenzij in mod_jk.conf een mount staat.

code:
1
JkMount /*.jsp default


Op deze manier worden alle JSP's door Tomcat afgehandeld. Echter, ik wil niet alleen de jsp's door Tomcat laten serveren, maar ook mijn mappings.

Bijvoorbeeld, /controller verwijst naar een servlet. Voorbeeld: www.test.nl/controller verwijst naar een servlet. Dit betekent dat ik mijn mod_jk moet aanpassen, omdat ik moet aangeven dat die controller mapping door Apache afgehandeld moet worden.

Dat zou er als volgt uitzien:
code:
1
JkMount /* default


Maar nu worden alle request, inclusief die voor bijvoorbeeld /cgi-bin doorgestuurd naar Tomcat. Dat is niet goed!

Om dit eventueel op te lossen betekent dit dus dat ik voor alle mappings dat moet aanpassen. Maar ik wil het liever niet per mapping aangeven, maar per domein: domein xxx.nl moet door Tomcat afgehandeld worden, domein xxx2.nl door Apache (of door Apache en Tomcat).

Kortom: die mod_jk.conf werkt voor de hele webserver, en ik wil graag dat ie werkt per domein. Kan dat?

[edit]
Tijdens het tikken kwam ik op mijn laatste opmerking: een mod_jk per virtual host.

En het is niet geloven, het werkt gewoon! Iedereen heel erg bedankt, het is opgelost.

[ Voor 8% gewijzigd door bodiam op 22-01-2005 15:13 ]


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 17:31

Creepy

Tactical Espionage Splatterer

De JkMount opties kan je ook in een virtual host directive plaatsen.
code:
1
2
3
4
5
<virtualhost www.mijndomain.nl>
...
JkMount /* ajp13
...
</virtualhost>


En meteen ff een subtiele schop naar SA. Zie hiervoor ook P&W FAQ - Installatie c.q. SA vragen

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1