DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19429>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19429

HTML Pages getting destroyed by leftover from previous 304 message

           Summary: HTML Pages getting destroyed by leftover from previous
                    304 message
           Product: Apache httpd-2.0
           Version: 2.0.45
          Platform: Sun
        OS/Version: Solaris
            Status: NEW
          Severity: Major
          Priority: Other
         Component: mod_proxy
        AssignedTo: [email protected]
        ReportedBy: [EMAIL PROTECTED]


When using Apache 2.0.45 as a reverse proxy to connect a client over HTTPS to an
origin server also using HTTPS, mod_ssl sometimes chokes with the following
error message:

[Tue Apr 29 16:00:49 2003] [debug] ssl_engine_io.c(1489): OpenSSL: I/O error, 5
bytes expected to read on BIO#15bf58 [mem: 17daf8]
[Tue Apr 29 16:00:49 2003] [info] (70007)The timeout specified has expired: SSL
input filter read failed.

The error only occurs when "KeepAlive on" is used. Once I turn that off, it
works seamlessly. The backend server is known to work without a problem as a
standalone server and in conjunction with an Apache 1.3.x reverse proxy.

The configuration of the reverse proxy looks like this:

ServerRoot "/root/of/revproxy"
ServerAdmin [EMAIL PROTECTED]
ServerName 192.168.1.1
User nobody
Group nogroup
HostNameLookups   off
UseCanonicalName  Off
ServerSignature   Off
IdentityCheck     off
<Directory />
Options -FollowSymLinks -SymLinksIfOwnerMatch
AllowOverride None
</Directory>

Timeout                 300
KeepAlive               On
MaxKeepAliveRequests    100
KeepAliveTimeout        15

TypesConfig /root/of/revproxy/mime.types
PidFile         /root/of/revproxy/httpd.pid
ProxyRequests   off
ProxyVia        off

Listen 192.168.2.1:443

<VirtualHost 192.168.2.1:443>
        SSLEngine on
        ServerName      192.168.2.1
        ServerAdmin     [EMAIL PROTECTED]

        ProxyPass        / https://origin.server/
        ProxyPassReverse / https://origin.server/

        SSLProxyEngine on

        SSLCipherSuite 
ALL:!ADH:!EXP56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

        SSLCertificateFile      server.crt
        SSLCertificateKeyFile   server.key

        SSLVerifyClient none
        SSLCARevocationPath     ssl.crl
        SetEnvIf User-Agent ".*MSIE.*" \
                nokeepalive ssl-unclean-shutdown \
                downgrade-1.0 force-response-1.0
</VirtualHost>

An example of the output of a failed request is this:

<head><title>Error: 304</title></head><body>
<h1>Error: 304</h1>
<h2>Location: /images/new.gif</h2></body>
HTTP/1.1 200 OK
Date: Tue, 29 Apr 2003 14:14:27 GMT
Server: Apache/1.3.27 (Unix) Debian GNU/Linux PHP/4.2.3 mod_ssl/2.8.9
OpenSSL/0.9.6g mod_perl/1.26 mod_jk/1.1.0
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1

1ff8
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Expires" CONTENT="-1">
<TITLE>
... and so on...
                </tr>

8  
        
d3f
        <tr>
... some more HTML stuff...
</HTML>
0

It seems to me that the HTTP Body of a previous 304 Not modified response is
still spooking around and delivered to the client right before the HTTP Header
of the new response is sent. Then again, a part of the actually requested
document is sent, the stream is interrupted and the remaining data of that page
is sent. Very weird behaviour, as it only occurrs every now and then.

If you need more information to hunt this bug down, please contact me.

Keep up the good work!

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to