Search code examples
glassfishajp

Glassfish, Apache (AJP) and Internet Explorer


We have a Glassfish application running on port 8080.

The application is behind an Apache httpd server configured with AJP:

ProxyRequests Off
<Proxy *>
    AddDefaultCharset Off
    Order deny,allow
    Allow from all
</Proxy>

<Location />
    ProxyPass        ajp://example.org:8009/
    ProxyPassReverse ajp://example.org:8009/
</Location>

Everything works fine when using Safari, Firefox or Opera. If we use IE somewhere a 2000 is prepended to the output: we get a 2000\n before the beginning of the HTML page.

2000
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
[...]

This then cripples the page.

If we connect directly to Glassfish on port 8080 everything is OK.

Edit:

Eccording to http://java.net/jira/browse/GLASSFISH-18341 the default Apache settings should be updated to

BrowserMatch ".*MSIE [2-5]\..*" \ 
nokeepalive ssl-unclean-shutdown \ 
downgrade-1.0 force-response-1.0

since the downgrade is not needed for IE >= 6.0.

The problem persists

Any hints?


Solution

  • BrowserMatch ".*MSIE [2-5]\..*" \ 
    nokeepalive ssl-unclean-shutdown \ 
    downgrade-1.0 force-response-1.0
    

    is indeed the correct answer! Be careful to scan your httpd.conf file for additional

    SetEnvIf User-Agent ".*MSIE.*" \ 
    nokeepalive ssl-unclean-shutdown \ 
    downgrade-1.0 force-response-1.0 
    

    that could be present (and should be adapted)