Trailing Slash …
Mittwoch, 27. Mai 2009
… oder wie konfiguriere ich mod_proxy_balancer so, dass meine URLs dort hingeleitet werden wo ich will und nicht wie es der Apache gerne möchte.
Heute habe ich ungefähr 2 Stunden danach gesucht, warum eine URL über einen mod_proxy_balancer immer in einem 404 endete.
Nach der Analyse über tcpdump und Wireshark war es dann irgendwann klar. Beim Routing über den mod_proxy_balancer wird wohl irgendwie ein Slash (/) an die URL gehängt. Dumm für Endpunkte die z.B. wie http://server/endpoint?wsdl enden.
Nach ein wenig Sucherei und Bastelei war das aber auch gefixt.
Folgendes Beispiel routet http://server.com:8080/MyEndpoint auf http://server.com:8080/MyEndpoint/
ProxyPass /MyEndpoint balancer://clusterservice <Proxy balancer://clusterservice> BalancerMember http://server.com:8080/MyEndpoint BalancerMember http://server.com:8080/MyEndpoint </Proxy>
Das nächste Beispiel routet die URL ohne Slash weiter. http://server.com:8080/MyEndpoint aufhttp://server.com:8080/MyEndpoint
ProxyPass /MyEndpoint balancer://clusterservice/MyEndpoint <Proxy balancer://clusterservice> BalancerMember http://server.com:8080 BalancerMember http://server.com:8080 </Proxy>
Was lernen wir daraus? Tcpdump in Verbindung mit Wireshark ist unersetzbar.
