Hi,

 

I have a Restful service that receives a huge amount of HTTP requests per
day. In some of these requests, Tomcat returns an HTTP 403 error status.
This should never happen as far as I can tell because the resource is open,
and is very sporadic but yet very critical because it makes my service
unreliable. When this happens, it does for the same resource that would
otherwise return a succesful response. 

I'm sure this is happening, because my users have reported me the issue, and
because I can clearly see that in our Tomcat log, as follows:

 

localhost - - [04/Feb/2015:01:11:06 -0500] "GET
/location/v1.7/locateip?key=abc123&ip=182.68.243.178&format=JSON HTTP/1.0"
403 - "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML,
like Gecko) Chrome/40.0.2214.94 Safari/537.36"

localhost - - [04/Feb/2015:01:12:24 -0500] "GET
/location/v1.8/locateip?key=abc123&ip=local-ip&format=json&capacity=6X
HTTP/1.0" 403 - "-" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML,
like Gecko) Chrome/40.0.2214.94 Safari/537.36"

localhost - - [04/Feb/2015:01:18:06 -0500] "GET
/location/v1.8/locateip?key=abc123&ip=local-ip&format=json&capacity=6X
HTTP/1.0" 403 - "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML,
like Gecko) Chrome/40.0.2214.94 Safari/537.36"

 

Is there a way to show in the log why the 403s took place? How do I debug
these events?

 

I'm using Tomcat 7.0.50.

 

By the way: I don't know if this is relevant, but this is the complete stack
of software between the user and my Java App:

 

- The request first goes through a Amazon AWS load balancer

- Then it enters my Linux instance (Ubuntu 12.04.3)

- Then it arrives to Nginx (v1.4.7), that runs a module that deals with
abuses (when there are too many requests)

- Then it hits Tomcat (7.0.50)

- Then it finally hits my java servlet.

 

Thanks in advance,

 

Brian

 

 

 

Reply via email to