On Thu, 19 Aug 2010 21:28:25 +0200, Rainer Jung <rainer.j...@kippdata.de>
wrote:
> On 19.08.2010 21:17, li...@cgi-net.ch wrote:
>> On Thu, 19 Aug 2010 20:57:57 +0200, Rainer
Jung<rainer.j...@kippdata.de>
>> wrote:
>>> On 19.08.2010 20:27, li...@cgi-net.ch wrote:
>>>> Hi List,
>>>>
>>>> I'm running mod_jk on a apache 2.2.14 connecting to a second host,
>>>> running
>>>> tomcat 5 server with a third party application.
>>>> This application is configured to display some company internal
>>>> information when accessing the page directly without any
subdirectory:
>>>> like: http://<servername>/
>>>> A second application part is located under address
>>>> http://<servername>/application ->   please note, this is not a
>> directory,
>>>> this is a servlet-mapping made by tomcat (and we can't change the
>> tomcat
>>>> setup as we would loose support for it)
>>>>
>>>> My problem is now, that I only what to grant access to
>>>> http://<servername>/application for external customers through the
>> apache
>>>> mod_jk setup.
>>>> But of some reason do I have trouble implementing this.
>>>
>>> How did you try to achive that?
>>>
>>> JkMount /application|/* worker1
>> I tried it with JkMount /application worker1 and with JkMount
>> /application* worker1
>>
>> Quick question, you've written JkMOunt /application|/, what does the |
>> stand for?
> 
> JkMount /application|/* worker1
> 
> is a short syntax for the two rules
> 
> JkMount /application worker1
> JkMount /application/* worker1
Thanks for that hint, might be useful for further work

> 
>>> Is the application deployed on Tomcat using the same context name
>>> "/application"?
>> Yes
> 
> Good.
> 
>>> What was the exact result, when you tried that?
>> Well it displays the login page, but the formatting of the does not
work,
>> and when I hit the submit button, nothing is happening.
>> Do you think that it is possible that /application does require / to be
>> access able as well (both application coming from the same vendor and
are
>> related to each other)
> 
> Aaaah!
> 
> Yes it is quote possible that the page contains links to other content 
> that does not reside under /application. Those could be CSS (style 
> sheets) responsible for correct rendering and JS (JavaScript files) 
> responsible for actions when pressing buttons. You can look at the 
> source code of the login page or use some browser plugin that shows you 
> all links referenced in the page. Some browsers might show you the info 
> out of the box.
OK, I'll need to check that - please note that this will require some
time.

> 
>>>> The stuff only works if I configure mod_jk to JkMount /* - but with
>> that,
>>>> also the page ttp://<servername>/ is access-able.
>>>> I've also tried it with Rewrite rules (to make sure everything else
>> than
>>>> http://<servername/application is redirected to this address), etc.
but
>>>> nothing was/is working.
>>>
>>> Rewriting will not be necessary as long as the context name on Tomcat
is
>>
>>> "/application".
>>>
>>>> Please find below some information about my setup:
>>>>
>>>> ###
>>>> ### setup information
>>>> ###
>>>> mod_jk version: 1.2.30
>>>> mod_jk httpd configuration (that's how it is working but it will
allow
>>>> access to any application, served by the tomcat server):
>>>> # Some URL Redirecting is required
>>>> RewriteEngine On
>>>> RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d [OR]
>>>> RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f
>>>> RewriteCond %{REQUEST_URI} !=/application
>>>> RewriteRule .* /application
>>>
>>> Let's remove the rewriting as long as we are debugging your original
>>> problem.
>> OK, I've anyway disabled them already since they were not working
>>
>>>
>>>> # Load Module
>>>> LoadModule      jk_module       modules/mod_jk.so
>>>> # Worker File
>>>> JkWorkersFile   /<path to worker file>/workers.properties
>>>> # Where to put the log
>>>> JkLogFile       /<path to log file>/mod_jk.log
>>>> # Log level
>>>> JkLogLevel      debug
>>>> # Select the timestamp log format
>>>> JkLogStampFormat        "[%a %b %d %H:%M:%S %Y] "
>>>> JkMount         /* worker1
>>>>
>>>> mod_jk worker configuration:
>>>> # Define 1 real worker using ajp13
>>>> worker.list=worker1
>>>> # Set properties for worker1 (ajp13)
>>>> worker.worker1.type=ajp13
>>>> worker.worker1.host=chnovmn3.lcsys.ch
>>>> worker.worker1.port=8009
>>>> worker.worker1.connection_pool_timeout=60
>>>> worker.worker1.socket_keepalive=1
>>>
>>> The log snippert you provided was parts of the log produced by
>>> successful requests, i.e. requests that were forwarded to tomcat and
>>> replied stuff. Please do provide the log contents for a request that
>>> does not work, i.e. which does show the problem.
>> I can send you more log files, but I think the problem is more related
>> with the application it self.
> 
> Right.
> 
>> The error I receive from apache is 404 which means he can not find the
>> document (which indicates that I've made some configuration mistake)
> 
> You can look at the Apache access log to check, what other resources the

> browser tries to access. Maybe they are contained in a few other folders

> or have a few file content suffixes you can add with a couple of 
> additional JkMounts.
As soon as I've checked the source code of the page, I'll try to go with
this solution.
Hope it works

> 
>> General question, is it possible to allow access to /* to make the
stuff
>> working but restrict access for customers to /application
>> (like you can do it with<directory>  stanza in apache)
> 
> In principle it is possible. The details depend on what "customers" are 
> (defined by IP or what?) and which URLs precisely need to be public vs. 
> private.
Hmmm, customers can come from everywhere ... so I think this will be
difficult.
Basically the only URL which needs to be public access able is
http://<servername>/application
everything else should remain private


Thanks and all the best,
Simon

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to