Wie kann ich einige Pfadmuster von Document Root, und andere aus mod_jk dienen?
-
21-08-2019 - |
Frage
Wir haben eine bestehende Situation, wo wir Apache 2.0 HTTPD, die als die Load-Balancer für ein Cluster von Back-End-Katern haben, mit mod_jk 1.2 zwischen den beiden zu kommunizieren. Die Anwendungen selbst sind auf den tomcat Servern gespeichert, und so werden alle Anforderungen durchlaufen (auch Bilder, CSS, etc.) zu Kater, mit dem folgend in der virtuellen Host configs:
JkMount /* worker-name
Die virtuellen Hosts haben keine DocumentRoot definiert, da die gesamten Verkehr geht nach unten dem Rohr Kater.
Wir möchten statische Inhalte von Apache direkt starten Portion (eine radikale Idee, ich weiß). Aufgrund unserer Anwendung Pfadstruktur, die einzige Möglichkeit, statische von dynamischen Inhalten zu unterscheiden ist die Dateierweiterung der angeforderten Pfad. So zum Beispiel alle endend Anfragen in .jpg, CSS-, ICO, usw. würden nicht durch die JkMount weitergegeben werden, sondern serviert von einem DocumentRoot.
Das ist also der Kontext. Meine Frage ist, wie kann ich die vhost confgiure so dass alle Anforderungen, die ein bestimmtes Muster passen (genauer gesagt, mein Muster von dem, was wollen wir von Apache bedient werden) aus dem DocumentRoot serviert, und alle bestehen andere Kater?
Kann dies mit einem regulären Ausdruck in JkMount
getan werden? Ist JkMount
dass flexibel? Wenn nicht, kann ich den Einsatz von mod_rewrite machen?
Lösung
Sie können JkUnMount verwenden, um anzuzeigen, dass bestimmte Anfragen nicht von mod_jk behandelt bekommen. Ich habe Beispiele gesehen Dateierweiterungen und Pfade mit:
JkMount /* worker-name
JkUnMount /*.jpg worker-name
JkUnMount /images/* worker-name
Siehe hier für weitere Informationen.