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:59:01 UTC

DO NOT REPLY [Bug 46316] Proxied SSI ProxyTimeout render failure

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