You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2008/12/01 12:52:32 UTC
DO NOT REPLY [Bug 46316] New: Proxied SSI ProxyTimeout render
failure
https://issues.apache.org/bugzilla/show_bug.cgi?id=46316
Summary: Proxied SSI ProxyTimeout render failure
Product: Apache httpd-2
Version: 2.2.10
Platform: PC
OS/Version: Windows XP
Status: NEW
Severity: major
Priority: P2
Component: mod_proxy
AssignedTo: bugs@httpd.apache.org
ReportedBy: jem.rayfield@bbc.co.uk
Hi,
It seems that the mod_proxy ProxyTimeout has a nasty side effect when it
kicks in when used with proxied SSI. Everything after a proxied (and timed out)
SSI is ignored and not rendered.
For example the following simple shtml ->
<html>
<body>
<h1>SSI CGI via a proxy test</h1>
<!--#include virtual="test-include.html" -->
<!--#include virtual="proxy/cgi-bin/perl-sleep.cgi?${QUERY_STRING}" -->
<h1>
Content that must be displayed even after a proxy timeout
</h1>
</body>
</html>
Has render problems with the CGI is timedout via ProxyTimeOut.
It appear to interrupt the subsequent output filter on timeout?
The proxy configuration is as follows -->
Apache 2.2.10 (SHTML+mod_proxy+SSI):80 --> Squid:3128 --> Apache
2.2.10(mod_cgi):8080
<Proxy balancer://squidbalancer>
BalancerMember http://localhost:3128/
ProxySet lbmethod=bytraffic
ProxySet timeout=1
</Proxy>
ProxyTimeout 2
RewriteEngine On
RewriteRule ^/proxy/(.*) balancer://squidbalancer/$1 [P,QSA,L]
If the ProxyTimeout kicks in before Squid+Apache/CGI returns the
following is rendered:
<html>
<body>
<h1>SSI CGI via a proxy test</h1>
<br/>
**MISSING HTML HERE**
However when I increase the ProxyTimeout in order that Squid times
out and not the calling Apache before the CGI returns the render looks a
tad better.
At least the full shtml is rendered. (Plus some horrid squid
response). Please see below.
I need proxied server side includes where a ProxyTimeout ensures that the
backend server does not consume and hold up all the requests/threads.
Please do let me have your thoughts
Cheers
Jem
<html>
<body>
<h1>SSI CGI via a proxy test</h1>
<br/>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html;
charset=iso-8859-1">
<TITLE>ERROR: The requested URL could not be retrieved</TITLE>
<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-
family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
</HEAD><BODY>
<H1>ERROR</H1>
<H2>The requested URL could not be retrieved</H2>
<HR noshade size="1px">
<P>
While trying to retrieve the URL:
<A HREF="http://127.0.0.1//cgi-bin/perl-sleep.cgi?">http://
127.0.0.1//
cgi-bin/perl-sleep.cgi?</A>
<P>
The following error was encountered:
<UL>
<LI>
<STRONG>
Read Timeout
</STRONG>
</UL>
<P>
The system returned:
<PRE><I> [No Error]</I></PRE>
<P>
A Timeout occurred while waiting to read data from the network. The
network
or server may be down or congested. Please retry your request.
<P>Your cache administrator is <A
HREF="mailto:webmaster">webmaster</
A>.
<BR clear="all">
<HR noshade size="1px">
<ADDRESS>
Generated Wed, 26 Nov 2008 12:19:09 GMT by PC-
S043915.national.core.bbc.co.uk (squid/2.6.STABLE17)
</ADDRESS>
</BODY></HTML>
<h1>
Content that must be displayed even after a proxy timeout
</h1>
</body>
</html>
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org
DO NOT REPLY [Bug 46316] Proxied SSI ProxyTimeout render failure
Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=46316
Jem Rayfield <je...@bbc.co.uk> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jem.rayfield@bbc.co.uk
--- Comment #1 from Jem Rayfield <je...@bbc.co.uk> 2008-12-01 03:59:01 PST ---
Hi,
It seems that the mod_proxy ProxyTimeout has a nasty side effect when it
kicks in when used with proxied SSI. Everything after a proxied (and timed out)
SSI is ignored and not rendered.
For example the following simple shtml ->
<html>
<body>
<h1>SSI CGI via a proxy test</h1>
<!--#include virtual="test-include.html" -->
<!--#include virtual="proxy/cgi-bin/perl-sleep.cgi?${QUERY_STRING}" -->
<h1>
Content that must be displayed even after a proxy timeout
</h1>
</body>
</html>
The above shtml has render problems when the CGI times out via ProxyTimeOut.
mod_proxy appears to interrupt the render and subsequent output filter on
timeout?
The proxy configuration is as follows --> Apache 2.2.10
(SHTML+mod_proxy+SSI):80 --> Squid:3128 --> Apache 2.2.10(mod_cgi):8080
<Proxy balancer://squidbalancer>
BalancerMember http://localhost:3128/
ProxySet lbmethod=bytraffic
ProxySet timeout=1
</Proxy>
ProxyTimeout 2
RewriteEngine On
RewriteRule ^/proxy/(.*) balancer://squidbalancer/$1 [P,QSA,L]
So as an example if the ProxyTimeout kicks in before Squid+Apache/CGI returns
the following is rendered:
<html>
<body>
<h1>SSI CGI via a proxy test</h1>
<br/>
**MISSING HTML HERE**
However when I increase the ProxyTimeout in order that Squid times
out and not the calling Apache before the CGI returns the render looks a
tad better.
At least the full shtml is rendered. (Plus some horrid squid
response). Please see below.
I need proxied server side includes where a ProxyTimeout ensures that the
backend server does not consume and hold up all the requests/threads.
Please do let me have your thoughts
Cheers
Jem
<html>
<body>
<h1>SSI CGI via a proxy test</h1>
<br/>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html;
charset=iso-8859-1">
<TITLE>ERROR: The requested URL could not be retrieved</TITLE>
<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-
family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
</HEAD><BODY>
<H1>ERROR</H1>
<H2>The requested URL could not be retrieved</H2>
<HR noshade size="1px">
<P>
While trying to retrieve the URL:
<A HREF="http://127.0.0.1//cgi-bin/perl-sleep.cgi?">http://
127.0.0.1//
cgi-bin/perl-sleep.cgi?</A>
<P>
The following error was encountered:
<UL>
<LI>
<STRONG>
Read Timeout
</STRONG>
</UL>
<P>
The system returned:
<PRE><I> [No Error]</I></PRE>
<P>
A Timeout occurred while waiting to read data from the network. The
network
or server may be down or congested. Please retry your request.
<P>Your cache administrator is <A
HREF="mailto:webmaster">webmaster</
A>.
<BR clear="all">
<HR noshade size="1px">
<ADDRESS>
Generated Wed, 26 Nov 2008 12:19:09 GMT by PC- >
S043915.national.core.bbc.co.uk (squid/2.6.STABLE17)
</ADDRESS>
</BODY></HTML>
<h1>
Content that must be displayed even after a proxy timeout
</h1>
</body>
</html>
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org