Hi,

Thank you for your comment.

I tried Apache 2.4.9 +  mod_proxy_ajp + Tomcat 6.0.35. But, unfortunately
HTTP status codes were the same ones.  (Apache HTTP status => 200,
Tomcat's =>  500.)
Apache 2.2.x + Tomcat 6.0.35 behaves so, too.

Next, I tried with Apache 2.2.15 (2.4.9) + mod_proxy_http (not ajp) +
Tomcat 6.0.35, uploading a large-sized file and switching off network of
the client machine while waiting HTTP response. At that time, the Apache
HTTP status was 400, and Tomcat's one was 500.
It seems more suitable for me because "400" means a kind of client error.

Is it violated by AJP or RFC specification that the ajp's HTTP status "200"
in such a network error?


> Hello,
> 
> I think this has been fixed in 2.4.8 with this changelog:
> 
>   *) core: Detect incomplete request and response bodies, log an error and
>      forward it to the underlying filters. PR 55475 [Yann Ylavic]
> 
> A backport is proposed for next 2.2.x release and is waiting for approvals.
> I will update the bugzilla
> https://issues.apache.org/bugzilla/show_bug.cgi?id=55475 about this.
> 
> Please note that with this fix the HTTP status returned to the client
> (and logued) will be 408 (Request Timeout).
> 
> On Tue, Jul 15, 2014 at 8:22 AM, Nozomi Anzai <an...@sraoss.co.jp> wrote:
> > Does anyone have some comments?
> >
> >> Hi,
> >>
> >> I have a question about HTTP status codes.
> >>
> >> - I use Apache 2.2.15 + mod_proxy_ajp + Tomcat 6.0.35.
> >>   - Apache's Timeout is 90 sec, and Tomcat AJP connector's
> >>     connectionTimeout is 10000 (10 sec).
> >>   - Apache's keepAlive is off.
> >>
> >> - While uploading a large-sized file and waiting the resoponse, I switched
> >>   off network of the client machine.
> >>
> >> - The Tomcat returned a status code which depended on the application (500
> >>   internal server error, 200 OK and so on), but Apache always wrote 200 OK
> >>   in its access log.
> >>
> >> I'm wondering if it is by design or not that Apache returns 200 OK in such
> >> network error. I don't expect that Apache has to return Tomcat's status
> >> codes, but expect a kind of 50x error.
> >>
> >> Any ideas?
> >>
> >>
> >>
> >> The log messages about this are as follows:
> >>
> >> ----------------------------------------------------------------------------
> >> [12:00:26] A user starts file uploading.
> >> ----------------------------------------------------------------------------
> >>
> >> ==> httpd-2.2.15/logs/error_log <==
> >> [Tue Jul 01 12:00:26 2014] [debug] mod_proxy_ajp.c(45): proxy: AJP: 
> >> canonicalising URL //localhost:8009/upload/ultest
> >> :
> >> [Tue Jul 01 12:00:26 2014] [debug] mod_proxy_ajp.c(270): proxy: data to 
> >> read (max 8186 at 4)
> >> [Tue Jul 01 12:00:26 2014] [debug] mod_proxy_ajp.c(285): proxy: got 952 
> >> bytes of data
> >>
> >> ----------------------------------------------------------------------------
> >> [12:00:30] A user disconnects the client's network.
> >> ----------------------------------------------------------------------------
> >>
> >> (There are no log messages about this.)
> >>
> >> ----------------------------------------------------------------------------
> >> [12:00:50] Tomcat regognizes the timeout. (20 sec after disconnecting)
> >> ----------------------------------------------------------------------------
> >>
> >> ==> tomcat-6.0.35/logs/catalina.out <==
> >> org.apache.commons.fileupload.FileUploadBase$IOFileUploadException:Processing
> >>  of multipart/form-data request failed. Read timed out
> >> :
> >> Caused by: java.net.SocketTimeoutException: Read timed out
> >> :
> >>
> >> ==> tomcat-6.0.35/logs/localhost.2014-07-01.log <==
> >> Jul 01, 2014 12:00:50 PM org.apache.catalina.core.StandardWrapperValve 
> >> invoke
> >> SEVERE: Servlet.service() for servlet uploadtest threw exception
> >> javax.servlet.ServletException: FOR DEBUG servlet
> >> :
> >>
> >> ==> tomcat-6.0.35/logs/localhost_access_log.2014-07-01.txt <==
> >> 133.137.177.172 - - [01/Jul/2014:12:00:50 +0900] "POST /upload/ultest 
> >> HTTP/1.1" 500 1362 23396
> >>
> >> ----------------------------------------------------------------------------
> >> [12:02:00] Apache recognizes the timeout. (90 sec after disconnecting)
> >> ----------------------------------------------------------------------------
> >>
> >> ==> httpd-2.2.15/logs/error_log <==
> >> [Tue Jul 01 12:02:00 2014] [debug] mod_proxy_ajp.c(379): (70007)The 
> >> timeout specified has expired: ap_get_brigade failed
> >> [Tue Jul 01 12:02:00 2014] [debug] mod_proxy_ajp.c(545): proxy: Processing 
> >> of request failed backend: 0, output: 1, data_sent: 0
> >> [Tue Jul 01 12:02:00 2014] [debug] proxy_util.c(2029): proxy: AJP: has 
> >> released connection for (localhost)
> >>
> >> ----------------------------------------------------------------------------
> >> [12:03:30] Apache recognizes the timeout. (180 sec after disconnecting)
> >> ----------------------------------------------------------------------------
> >>
> >> ==> httpd-2.2.15/logs/access_log <==
> >> 133.137.177.172 - - [01/Jul/2014:12:00:26 +0900] "POST /upload/ultest 
> >> HTTP/1.1" 200 - 183547381 -
> >>
> >> ----------------------------------------------------------------------------
> >>
> >>
> >> Regards,
> >>
> >> --
> >> Nozomi Anzai
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
> >> For additional commands, e-mail: users-h...@httpd.apache.org
> >>
> >
> >
> > --
> > Nozomi Anzai
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
> > For additional commands, e-mail: users-h...@httpd.apache.org
> >
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
> For additional commands, e-mail: users-h...@httpd.apache.org
> 


-- 
Nozomi Anzai

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

Reply via email to