Am Mittwoch, 8. Juni 2011 schrieb Lentes, Bernd:
A. Taner schrieb:
Hi,
Am 07.06.2011 23:29, schrieb Manfred Tremmel:
Hängt davon ab, man kann mit JkMount ja auch selektiv weiterleiten, oder man hilft per mod_rewrite nach ;-). Ich bastle z.B. @Work Intranet- Anwendungen mit GWT. Das generiert viel
Java-Script für den
AJAX-Client, welches besser der Apache als der Tomcat
ausliefern soll.
Ich nehm da gern ein "JkMount /servlet/* ajp13" in die vhost Konfiguration und klatsch dann eine rewrite Regel in die
.htaccess mit
der ich die Zugriffe, die den Tomcat betreffen umbiege:
RewriteRule riphone\/RiPhoneFee /servlet/RiPhoneFee
danke für die Tipps. Mit JkMount biegst du praktisch alles ab servlet domain.tld/serlvet/* zum Tomcat + zusätzlich mit mod-rewrite biegst du noch riphone bzw. RiPhoneFee zum Tomcat. Warum zwei verschiedene Ansätze?
Verständnisfrage: Mit JKMount leite ich requests an den httpd an Tomcat weiter. So weit klar. Wie kommt da mod_rewrite ins Spiel ? Werden mit rewrite requests im httpd umgelenkt, die dann anschließend per JKMount an Tomcat weiter geleitet werden ? Also erst mod_rewrite, dann mod_jk ?
Ja, so ist es. Im gennanten Beispiel von RiPhone ist das WebProjekt eigentlich über domain.tld/riphone/* anzusprechen. Die ganzen HTML und JavaScript Dateien sind darauf ausgerichtet. Da ich aber eben nicht vorhabe die statischen Inhalte via Tomcat auszuliefern, sondern via Apache, darf ich eben nicht via "JkMount /riphone/* ajp13" alles an den Tomcat übergeben, sondern eben nur die Servletaufrufe. Die biege ich mit der RewriteRule eben von /riphone/* auf /servlet/* um und binde nur dieses via JkMount um. Und ja, mod_rewrite wird anscheinend vor mod_jk ausgeführt, andernfalls würde die Sache nicht funktionieren.
Muss ich da irgendwas besonderes beachten, daß diese Reihenfolge beibehalten wird ?
Ich habe nichts spezielles unternommen.
Mein Szenario: ein vhost pro Applikation, Hostname wäre was Sinngebendes wie applikation.domain.tld. In der conf dieses vhosts würde ich requests an / z.B. auf /webappliaktion umleiten (per rewrite). /webapplikation würde ich dann per JKMount an Tomcat weiter geben. Geht das so ?
Der einfachste Fall mit kompletter Weiterleitung an Tomcat sollte in dem Fall wohl sein: 1. JkMount in der vhost Konfiguration des Apache via JkMount /webapplikation/* ajp13 2. ModRewrite einbinden (falls noch nicht geschehen) In /etc/sysconfig/apache2 den Eintrag APACHE_MODULES= um rewrite ergänzen. 3. Die .htaccess Datei anlegen/erweitern um: RewriteEngine On RewriteBase / RewriteRule $ /webapplikation/xyz RewriteRule ;jsessionid\=(.*)$ /webapplikation/xyz;jsessionid=$1 RewriteRule ?JServSessionIdroot\=(.*)$ /webapplikation/xyz?JServSessionIdroot=$1 RewriteRule index\.html$ /webapplikation/xyz RewriteRule index\.html;jsessionid\=(.*)$ /webapplikation/xyz;jsessionid=$1 RewriteRule index\.html?JServSessionIdroot\=(.*)$ /webapplikation/xyz?JServSessionIdroot=$1 Damit landest Du dann mit http://domain.tld/webapplikation/xyz -- Machs gut | http://www.iivs.de/schwinde/buerger/tremmel/ | http://packman.links2linux.de/ Manfred | http://www.knightsoft-net.de -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org