On 22.10.2009 20:31, 1world1love wrote: > > Thanks Rainer, that was very helpful and exactly what I was looking for, > although I am still having issues getting it working. For anyone who may > know, or have done this sort of thing. When I add in a rewrite, I get the > following in my rewrite log: > > -applying pattern '^/path/(.*)' to uri '/path/MyApp/MyApp.html' > -rewrite '/path/MyApp/MyApp.html' -> '/MyApp/MyApp.html' > -local path result: /MyApp/MyApp.html > -prefixed with document_root to /htdocs/MyApp/MyApp.html > -go-ahead with /htdocs/MyApp/MyApp.html [OK] > > And of course the document_root does not apply because apache maps the path > /Admin to tomcat via mod_jk and so I get a 404. > > When I do a rewrite with the following: > > RewriteRule ^/path/(.*) https://%{HTTP_HOST}/$1 [L] > > It does the rewrite and of course redirects to that URL, but that pushes it > back through the load balancer which, in turn, pushes it to serverA because > it doesn't see the /path part of the URL.
Sorry I didn't read all of it very carefully, but is it possible you left out the "PT" flag (pass-through)? Without it, Apache doesn't run a request which was changed by mod_rewrite through mod_jk. If it still doesn't work, you can set your JkLogLevel to debug and ru one of the requests that do not work and check in the log file, what URL mod_jk received to forward. Maybe you have to fix your JkMount. If it is not about mod_jk but mod_proxy, then set you LogLevel of Apache to debug, which also adds a reasonable amount of information about proxy processing. Regards, Rainer > Rainer Jung-3 wrote: >> >> On 20.10.2009 16:59, 1world1love wrote: >>> I know that there is probably an easy solution to this, but all the posts >>> I >>> have found relating to this don't seem to match my scenario, and most of >>> them I frankly don't get. >>> >>> My issue is this: I have a server running apache and tomcat. The server >>> is >>> behind a load balancer and firewall that manages mapping url paths to >>> specific servers. So we have a URL: http://example.com and based on the >>> path >>> it will do this: >>> >>> http://example.com -> serverA (/app/htdocs) >>> http://example.com/path -> serverB (/app/htdocs/path) >>> >>> I have an app in tomcat that I have mounted via JK. If I go to >>> http://myipaddress:8080/MyApp (by using the ip address I can bypass the >>> load >>> balancer) than my app loads. If I do http://myipaddress/MyApp my app >>> loads >>> (again bypassing the LB, but using the modjk). >>> >>> But if I do http://example.com/MyApp than obviously this won't work since >>> the LB will point to serverA. What seems to be at issue is that our >>> configuration requires that our http root be htdocs and that there be a >>> sub >>> called 'path' so that although there is a root '/' all of our content is >>> essentially served from '/path/' since the '/ ' URL will always go to >>> serverA. >>> >>> So I have adjusted my modjk mount to handle requests that look like: >>> http://example.com/path/MyApp, but when tomcat tries to handle this, >>> obviously it can't find anything at /path/MyApp. It expects /MyApp. >>> >>> I tried setting a context with path="/path/MyApp" docBase="MyApp", but >>> that >>> didn't work. I still get a 404. >>> >>> So, how can I specify that tomcat should expect '/path' in the URL for >>> all >>> potential apps? >> >> Probably >> >> http://tomcat.apache.org/connectors-doc/generic_howto/proxy.html >> >> should contain answers. >> >> Regards, >> >> Rainer --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org