Hi.Could a real Apache/mod_jk specialist clear up a few questions to which I do not seem to find a clear, definitive and explicit answer in the documentation(s) ?
I mean, some of the things below seem to be working for me, but I would kind of like to get some official confirmation, before I repeat them too often to newbies on this list ;-). I would also like to know if they represent official, supported, likely-to-stay features, or if they are going to be obsoleted-out anytime soon.
(It is possible that some questions overlap; the available documentation does too sometimes).
1) I see on this list and on the Tomcat lists, a lot of questions where people create a configuration of the following genre :
Assuming the Tomcat webapps directory is (e.g.) /var/lib/tomcatX/webapps then, in apache.conf : DocumentRoot /var/lib/tomcatX/webapps or Alias /apps "/var/lib/tomcatX/webapps"I am of the impression that such a configuration is basically a bad idea, because it exposes, through Apache, things that should not be accessible by the users, such as the Tomcat webapps/xxx/WEB-INF directories and files.
True/False ? Elaborate ? 2) When one has the following configuration in Apache : Alias /eg /var/lib/tomcatX/webapps/examples <Directory /var/lib/tomcatX/webapps/examples> Order Allow, Deny Allow from all </Directory> JkMount /eg ajp13w JkMount /eg/* ajp13w my understanding is that :- mod_jk (and Tomcat) intervene at the "content generation" phase of the request processing.
- but "Alias" intervenes earlier, during the "URL translation" phase Thus, if a browser requests a URL like "/eg/HelloWorld",- Apache (by virtue of the Alias) will first translate this internally to "/var/lib/tomcatX/webapps/examples/HelloWorld" - then mod_jk will get a chance to generate the content of this request, but it will decline because the URI no longer matches "/eg" or "/eg/*" - thus Apache will (try to) serve this itself, from the directory /var/lib/tomcatX/webapps/examples, using its default content handler (and might fail doing so, and return "Not Found", if there is nothing in there explictly called "HelloWorld").
True/False ? if false, elaborate ?3) mod_jk, for all intents and purposes within Apache, is a "content generator", and thus intervenes *after* URI translation, access control, authentication, authorisation, fixup.
True/False ?4) The way in which mod_jk or Apache "decide" that a given URL is to be handled (for content generation) by mod_jk (and Tomcat behind it) is as follows : at the moment when the response content should be generated,
- Apache hands over the current request to mod_jk, and waits for mod_jk to return a response. - mod_jk examines the request and finally returns a response which is either "declined", "OK", or "error". - if the response of mod_jk was "declined", then Apache tries any other content generator configured, ending with it's own default handler. - if the response of mod_jk is OK, then Apache supposes that the content was generated by mod_jk, passes it on to the browser, and does not call any other handler. - if the response was "error", then Apache breaks up the request cycle, returns an error to the browser, and skips to logging.
True/false ?5) Apache does not have a clue that Tomcat is behind mod_jk. For Apache, mod_jk is "the" content handler. When Apache hands a request to mod_jk for processing, it expects a response from mod_jk, and could not care less if there is one, or a dozen, or zero Tomcats behind it.
True/False ? 6) What is the exact syntax of the URI's used in JkMount directives ?I mean what is allowed/not allowed ? is it a regexp ? is it some other form of wildcard ? is it the same bizarre kind of thing as the <url-pattern> in the servlet specification ?
If I put for instance JkMount /examples/* ajp13wdoes the leading "/" mean "the DocumentRoot", or is this a string that can match anywhere in the request URI ? Can I use "^/examples/*" if I want "/examples" to be at the beginning of the URI ? Does there exist a description of this somewhere in the on-line documentation ?
6) If I have this configuration section : (assuming mod_setenvif loaded) <Location /jk_examples> SetHandler jakarta-servlet SetEnvIf REQUEST_URI "\.(gif|jpg)$" no-jk </Location>is it the exact equivalent of (in the sense of does it do the same thing as) having these directives at the server/vhost level :
JkMount /jk_examples ajp13w JkMount /jk_examples/* ajp13w JkUnMount /jk_examples/*.gif JkUnMount /jk_examples/*.jpg If not, why not ?(I think I found the "SetHandler jakarta-servlet" somewhere in the documentation of either Apache or Tomcat, but I think it's not at the same place as the "JkMount/JkUnMount" documentation)
Many thanks in advance, André --------------------------------------------------------------------- The official User-To-User support forum of the Apache HTTP Server Project. See <URL:http://httpd.apache.org/userslist.html> for more info. To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx " from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx