title image


Smiley mod_jk vs. mod_proxy_ajp

Heute habe ich eine knifflige Frage an euch!

Was ist der Unterschied zwischen mod_jk und mod_proxy_ajp? Es gibt zwar viele Seiten im Netz über das Thema, aber so richtig Antwort auf diese Frage gibt keine. Obwohl alle Seiten sagen, dass mod_jk durch mod_proxy_ajp ersetzt werden könne, sieht das in der Praxis anders aus, wie ich mit ein und derselben App in verschiedenen Konfigurationen festellen musste.

 

1. Apache-Konfiguration mit mod_jk:

JkWorkersFile "/home/tomcat/workers/worker.properties"

JkShmFile "/var/tmp/jk_shm"

JKMount /foo loadbalancer

=> Funktioniert ohne Probleme

 

2.Apache-Konfiguration mit mod_proxy und mod_proxy_ajp, wobei die Worker wie folgt definiert sind (Teststellung auf einer VM):

< Proxy balancer://foo >

# Worker 1

BalanceMember ajp://localhost:9001

# Worker 2

BalanceMember ajp://localhost:9002

< /Proxy >

 

2a. Globale Direktive ProxyPass

ProxyPass /foo balancer://foo

=> Funktioniert nur auf Stammverzeichnis, Benutzerverwaltung funktioniert nicht

 

2b. Globale Direktive ProxyPassMatch

ProxyPassMatch ^/foo(.+)$ balancer:://foo

=> Funktioniert auch auf Unterverzeichnisse, Benutzerverwaltung funktioniert nicht

 

 3a. Einbetten in Location Direktive (absolut):

< Location "/foo" >

AuthType Basic

AuthName "Password, Dude!"

AuthUserFile "/path/to/secret/file/.htpasswd"

Require valid-user

ProxyPreserveHost On

ProxyPass balancer://foo

< /Location >

=> Funktioniert nur auf Stammverzeichnis, Benutzerverwaltung funktioniert nur eingeschränkt

 

 3b. Einbetten in Location Direktive (regex):

<Location ~ ^/(foo.*)$ >

AuthType Basic

AuthName "Password, Dude!"

AuthUserFile "/path/to/secret/file/.htpasswd"

Require valid-user

ProxyPreserveHost On

ProxyPassMatch balancer://foo/$1

< /Location > 

=> Java-Exception wg. fehlender Berechtigungen, Benutzerverwaltung funktioniert nicht.

 

Wo liegt mein Denkfehler? Was übersehe ich?

LG Michaela

 

EDIT: Habe den Post nochmal überarbeitet. War echt grauenhaft, was der Editor daraus gemacht hat.

EDIT2: Leider werden die Direktiven immer wieder unterschlagen, deswegen habe ich Leerzeichen eingebaut. In der Konfig sind die natürlich nicht drin.


Rechtschreibfehler sind geistiges Eigentum des Authors und dürfen ohne schriftliche Genehmigung weder kopiert, noch veröffentlicht werden!

 

Möchtegern-Profi: "Bei Linux gibt es wenigstens keinen BlueScreen"

Echter Profi: "Stimmt! Dort ist er schwarz und heißt Kernel-Panic!"

 



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: