Bug 64035 - mod_proxy_ajp: ProxyPass directive seems to be susceptible to Timeout in httpd.conf
Summary: mod_proxy_ajp: ProxyPass directive seems to be susceptible to Timeout in http...
Status: NEW
Alias: None
Product: Apache httpd-2
Classification: Unclassified
Component: Core (show other bugs)
Version: 2.4.29
Hardware: PC Linux
: P2 normal (vote)
Target Milestone: ---
Assignee: Apache HTTPD Bugs Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-12-26 21:45 UTC by Fellipe Weno
Modified: 2021-04-14 10:04 UTC (History)
1 user (show)



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Fellipe Weno 2019-12-26 21:45:11 UTC
I was not so sure about posting this, but as i got deep in the troubleshoot process the problem seems to be affecting more users and the resolution may not be obvious.

I have a application running on Tomcat in another server, this Application is being proxied through HTTPd inside a HTTPS connection.
The error_log for said VHost was generating the following entries:

[Thu Dec 26 17:42:15.888896 2019] [proxy_ajp:error] [pid 14930] [client <client_addr>:7026] AH00992: ajp_read_header: ajp_ilink_receive failed, referer: https://<remote_addr>/<remote_url>
[Thu Dec 26 17:42:15.888929 2019] [proxy_ajp:error] [pid 14930] (70007)The timeout specified has expired: [client <client_addr>:7026] AH00893: dialog to 10.0.0.192:8009 (10.0.0.192) failed, referer: https://<remote_addr>/<remote_url>

While working on this I found out lots of people stating that, to increasing the ProxyPass connection timeout didn't solve the problem. But I think this is incorrect behavior of HTTPd, as I understand the Timeout param in the httpd.conf is global, but is a Connection Timeout just like the one you have in the ProxyPass directive.

If this is incorrect, please forgive me. Thanks for your time and keep up with the good work! Thanks guys.
Comment 1 Fellipe Weno 2019-12-26 21:54:23 UTC
Allow me add this: When the Timeout of httpd.conf triggers(300 seconds) the error httpd returns to the Client Browser is 500(Internal Server error). But then, I don't see how that evolved, as the connection in AJP module is inactive but is not generating an actual error. Whats more, increasing the Timeout param in the apache2.conf solves the above Timeout reached in the AJP module. I think at best, the error in AJP modules should reflect what Timeout caused the connection to be lost.