On Tue, 2001-09-18 at 11:57, Graham Leggett wrote:
> Ian Holsman wrote:
> 
> > just wondering what people's position is on this one.
> > 
> > should we be masking error pages coming from the reverse proxy
> > with the 'standard' server responses from the main server.
> > 
> > we really need to do something when we are using mod-include to
> include
> > a reverse proxied subcomponent.
> > at the moment it will show the 404 page from the r-proxy server.
> > if we try to include a normal file, we get the SSI error message
> > '[error]'.
> > 
> > I'm proposing that proxy-http does the same thing, and mask the
> > errorpages returned from the appserver
> 
> MSIE has this behavior - and it's bogus. A replacement 404 page could
> mask the real content that is returned that could be more useful.
> 
> I have seen some people ask for this behavior though and yes, in some
> cases it can be useful - at best it should be possible to enable 404
> replacement with a config directive, but it definitely shouldn't be the
> default.

The other problem I'm seeing at the moment is when the page being
requested is a r-proxy.

<html>
<!--#include virtual="/pma/404.html"-->
</html>

IF /pma/404.html is handled by the default handler (and is missing)
I get the standard "[an error occured...]"

IF the /pma/ is proxypassed it shows the 404 page of the other server.
This behavior is should NOT be the default behavior, it should be the
"[an error occured]".

Oh..
does anyone have any objections to the following patch.
it just passes the error code of the proxied request instead of 
passing a '200' all the time. 

I think this should be fixed regardless.


Index: proxy_http.c
===================================================================
RCS file: /home/cvs/httpd-proxy/module-2.0/proxy_http.c,v
retrieving revision 1.94
diff -u -u -r1.94 proxy_http.c
--- proxy_http.c        2001/08/30 19:48:02     1.94
+++ proxy_http.c        2001/09/18 20:39:24
@@ -850,7 +850,7 @@
                          "proxy: header only");
         }
     }
-    return OK;
+    return r->status;
 }
 
 static
@@ -954,6 +954,7 @@
     status = ap_proxy_http_process_response(p, r, p_conn, origin,
backend, conf,
                                             bb, server_portstr);
     if ( status != OK ) {
+        ap_proxy_http_cleanup(r, p_conn, backend);
         return status;
     }

> 
> Regards,
> Graham
> -- 
> -----------------------------------------
> [EMAIL PROTECTED]             "There's a moon
>                                       over Bourbon Street
>                                               tonight..."
-- 
Ian Holsman          [EMAIL PROTECTED]
Performance Measurement & Analysis
CNET Networks   -   (415) 364-8608

Reply via email to