Thanks David.

With the solution that you have suggested, I have to encode the url twice to
make sure '%' in '%2f' is again encoded. I do agree with you in that special
characters like '%' shouldn't be part of the request URI, but considering
the fact that I am using a REST implementation where the resources are
identified by the URI, I don't have any other option.

But I am a bit puzzled as the application in Tomcat accepts both 

http://xx.xx.xx/APIServer/authz/list/master%2fAB?apikey=WEB_INTERFACE_API

and 

http://xx.xx.xx/APIServer/authz/list/master/AB?apikey=WEB_INTERFACE_API

So if the load-balancer forwards that request in any form to the
application, it will work. But it seems that the load balancer is just
ignoring it.

Thanks
Jugs

-----Original Message-----
From: David Smith [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, January 03, 2007 3:55 PM
To: Tomcat Users List
Subject: Re: MOD_JK Redirection issues

I can see how the server might decode %2f in the path to /.  The % 
character is a special character in urls and should be decoded.  If you 
really mean for the url to literally include '%2f' as part of the file 
name, I would think the url should be:

http://xxx.xxx.xxx/APIServer/authz/list/master%252fAB?apikey=WEB_INTERFACE_A
PI

Note I replaced the % character with it's encoded form %25,  Having said 
that, I don't think it's a good idea to use special characters like % as 
part of the resource name.  It creates nothing but headaches as the 
server has to figure out whether the url has already been normalized or not.

--David

Jagadeesh wrote:
> Further to my last mail, whenever I try accessing this url
>
>
http://xxx.xxx.xxx/APIServer/authz/list/master%2fAB?apikey=WEB_INTERFACE_API
>
> the browser shows exactly the below response
>
> "Not Found
>
> The requested URL /APIServer/authz/list/master/AB was not found on this
> server.
> Apache/2.2.2 (Fedora) Server at cluster.omnidrive.com Port 80"
>
> The interesting thing is '%2F' has been replaced with a '/'
>
> Any thoughts???
>
> Thanks
> Jugs
>
> -----Original Message-----
> From: Jagadeesh [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, January 03, 2007 2:38 PM
> To: 'Tomcat Users List'
> Subject: RE: MOD_JK Redirection issues
>
> I changed the loglevel to TRACE, But I couldn't find any new log file. The
> access_log now shows
>
> 61.17.42.35 - - [03/Jan/2007:03:48:05 +0000] "GET
> /APIServer/authz/list/master/AB?apikey=WEB_INTERFACE_API HTTP/1.1" 200
1350
> "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.9)
> Gecko/20061206 Firefox/1.5.0.9"
>
> 61.17.42.35 - - [03/Jan/2007:03:48:44 +0000] "GET
> /APIServer/authz/list/master%2fAB?apikey=WEB_INTERFACE_API HTTP/1.1" 404
314
> "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.9)
> Gecko/20061206 Firefox/1.5.0.9"
>
> Where the first request returns HTTP/1.1 200 and the 2nd request returns
> HTTP/1.1 404.
>
> error_log doesn't have any entries.
>
> I tried sending the same request directly to tomcat and both
> /APIServer/authz/list/master/AB?apikey=WEB_INTERFACE_API and
> /APIServer/authz/list/master%2fAB?apikey=WEB_INTERFACE_API gave the
correct
> response and the status was HTTP/1.1 200. The second request returns 404
> only when it is passed through mod jk.
>
> Thanks
> Jagadeesh
>
>
>
> -----Original Message-----
> From: Rainer Jung [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, January 03, 2007 2:03 PM
> To: Tomcat Users List
> Subject: Re: MOD_JK Redirection issues
>
> Set JkLogLevel to trace and have a look at the JkLogFile.
>
> Jagadeesh wrote:
>   
>> Thanks for the tip and I will delete the cachelines.
>>
>> I want jkmod to redirect all the requests to tomcat and it is working
fine
>> except for the request which has %2f in the url before the parameter
part.
>>
>> For eg: 
>>
>> http://loadbalancer.xxx.com/authenticate%2Fjagadeesh?key=12345678 will
not
>> be redirected to tomcat servlet container, 
>>
>> however
>>
>> http://loadbalancer.xxx.com/authenticate/jagadeesh?key=12345678
>> http://loadbalancer.xxx.com/authenticate/jagadeesh%2C/abcd?key=12345678
>> http://loadbalancer.xxx.com/authenticate/jagadeesh?key=12345678&test=%2F
>>
>> are all getting redirected properly to tomcat. Only those request with
%2F
>> in the URI before the parameter (?) part is being ignored and they are
not
>> going past apache (load balancer).
>>
>> The error_log says
>>
>> [Sun Dec 31 04:02:03 2006] [notice] Digest: generating secret for digest
>> authentication ...
>> [Sun Dec 31 04:02:03 2006] [notice] Digest: done
>> [Sun Dec 31 04:02:03 2006] [notice] Apache/2.2.2 (Fedora) configured --
>> resuming normal operations
>> [Sun Dec 31 14:55:17 2006] [error] [client 212.241.200.196] client sent
>> HTTP/1.1 request without hostname (see RFC2616 section 14.23):
>> /w00tw00t.at.ISC.SANS.DFind:)
>> [Sun Dec 31 21:58:25 2006] [error] [client 87.118.100.232] client sent
>> HTTP/1.1 request without hostname (see RFC2616 section 14.23):
>> /w00tw00t.at.ISC.SANS.DFind:)
>>
>> Thanks
>> Jugs
>>
>> -----Original Message-----
>> From: Rainer Jung [mailto:[EMAIL PROTECTED] 
>> Sent: Wednesday, January 03, 2007 1:42 PM
>> To: Tomcat Users List
>> Subject: Re: MOD_JK Redirection issues
>>
>> OK, from the config I would guess, that you actually forward the request 
>> to tomcat, but get the 404 from there. What does the debug log tell you 
>> about the request in question?
>>
>> Small hint not related to your problem: delete the cachesize lines if 
>> you've got no special reason for them.
>>
>> Jagadeesh wrote:
>>     
>>> Thanks for the reply Rainer.
>>>
>>> I am using tomcat-connectors-1.2.19 and jBoss 4.0.5GA in Fedora Core 5.
>>> Since the binary I downloaded was throwing errors, I build the shared
>>> library mod_jk.so from the source and copied it to the
>>> /usr/lib/httpd/modules/ directory.
>>>
>>> Please find below the configuration file (mod-jk.conf) I am using
>>>
>>>
>>>       
> #=========================================================================
>   
>>> #Loads the module
>>> LoadModule jk_module modules/mod_jk.so
>>>
>>> # The workers file
>>> JkWorkersFile conf/worker.properties
>>>
>>> # Set the jk log level [debug/error/info]
>>> JkLogLevel debug
>>>
>>> # Select the log format
>>> JkLogStampFormat  "[%a %b %d %H:%M:%S %Y]"
>>>
>>> # JkOptions indicates to send SSK KEY SIZE
>>> JkOptions +ForwardKeySize +ForwardURIEscaped -ForwardDirectories
>>>
>>> # JkRequestLogFormat
>>> JkRequestLogFormat "%w %V %T"
>>>
>>> # Mount your applications
>>> JkMount /* loadbalancer
>>>
>>> # You can use external file for mount points.
>>> # It will be checked for updates each 60 seconds.
>>> # The format of the file is: /url=worker
>>> # /examples/*=loadbalancer
>>> # JkMountFile conf/uriworkermap.properties
>>>
>>> # Add shared memory.
>>> # This directive is present with 1.2.10 and
>>> # later versions of mod_jk, and is needed for
>>> # for load balancing to work properly
>>> JkShmFile logs/jk.shm
>>>
>>> # Add jkstatus for managing runtime data
>>> <Location /jkstatus/>
>>>     JkMount status
>>>     Order deny,allow
>>>     Deny from all
>>>     Allow from 192.168.0.2
>>> </Location>
>>>
>>>
>>>       
> #=========================================================================
>   
>>> Please find below worker.properties.
>>>
>>>
>>>
>>>       
> #=========================================================================
>   
>>> # Define list of workers that will be used
>>> # for mapping requests
>>> worker.list=loadbalancer,status
>>>
>>> # Define Node1
>>> # modify the host as your host IP or DNS name.
>>> worker.node1.port=8009
>>> worker.node1.host=xxx.xxx.xxx.xxx
>>> worker.node1.type=ajp13
>>> worker.node1.lbfactor=1
>>> worker.node1.cachesize=10
>>>
>>> # Define Node2
>>> # modify the host as your host IP or DNS name.
>>> worker.node2.port=8009
>>> worker.node2.host= xxx.xxx.xxx.xxx 
>>> worker.node2.type=ajp13
>>> worker.node2.lbfactor=1
>>> worker.node2.cachesize=10
>>>
>>> # Load-balancing behaviour
>>> worker.loadbalancer.type=lb
>>> worker.loadbalancer.balance_workers=node1,node2
>>> worker.loadbalancer.sticky_session=1
>>> worker.list=loadbalancer
>>>
>>> # Status worker for managing load balancer
>>> worker.status.type=status
>>>
>>> #=====================================================================
>>>
>>> I am not using uriworkermap.properties.
>>>
>>> Thanks
>>> Jagadeesh
>>>
>>> -----Original Message-----
>>> From: Rainer Jung [mailto:[EMAIL PROTECTED] 
>>> Sent: Wednesday, January 03, 2007 12:51 PM
>>> To: Tomcat Users List
>>> Subject: Re: MOD_JK Redirection issues
>>>
>>> Please give detailed information on the version and type of web server 
>>> and mod_jk you are using and include mod_jk config and the relevant 
>>> parts of the web server config.
>>>
>>> You can increase the log level of mod_jk to debug or even trace to 
>>> follow, how mod_jk tries to match your requests against the configured 
>>> URL maps.
>>>
>>> Regards,
>>>
>>> Rainer
>>>
>>> Jagadeesh wrote:
>>>       
>>>> Hi All,
>>>>
>>>>  
>>>>
>>>> Happy New Year!!!
>>>>
>>>>  
>>>>
>>>> I am having a few problems when using MOD JK with jBoss application
>>>>         
>>> server.
>>>       
>>>>  
>>>>
>>>> I am hosting an application in jBoss which uses REST protocol to serve
>>>>         
>> the
>>     
>>>> contents. So the GET requests that reach MOD JK can be an encoded
string
>>>> like
>>>>         
>>> http://loadbalancer.xxx.com/authenticate/user%2fjagadeesh?key=123456789
>>>       
>>>>  
>>>>
>>>> Here the actual request is 
>>>>
>>>>  
>>>>
>>>> http://loadbalancer.xxx.com/authenticate/user/jagadeesh?key=123456789
>>>>         
>>> where
>>>       
>>>> %2f is the encoded string for '/'. Whenever MOD JK gets a request like
>>>>         
>>> this,
>>>       
>>>> it seems to be ignoring it rather than passing it to the application
>>>>         
>>> server
>>>       
>>>> and I am getting HTTP 404.
>>>>
>>>>  
>>>>
>>>> I tried accessing the server directly with the request
>>>>
>>>>  
>>>>
>>>> http://node1.xxx.com/authenticate/user%2fjagadeesh?key=123456789 and
>>>>         
> it's
>   
>>>> working fine.
>>>>
>>>>  
>>>>
>>>> Any help to resolve this is greatly appreciated.
>>>>
>>>>  
>>>>
>>>> Thanks
>>>>
>>>> Jagadeesh
>>>>         
>>> ---------------------------------------------------------------------
>>> To start a new topic, e-mail: users@tomcat.apache.org
>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To start a new topic, e-mail: users@tomcat.apache.org
>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>       
>> ---------------------------------------------------------------------
>> To start a new topic, e-mail: users@tomcat.apache.org
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>>
>> ---------------------------------------------------------------------
>> To start a new topic, e-mail: users@tomcat.apache.org
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>     
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>   


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to