See: http://www.java.net/forum/topic/glassfish/glassfish/glassfish-double-compression for discussion.
The Grizzly http listener does not detect that a response is already Gzipped and gzips it again causing the output to be garbled. This did not use to happen in Glassfish 2.1.x but seems to happen in 3.1.x.
To reproduce deploy the attached web app directory into Glassfish 184.108.40.206 and access index.html page. Now switch on compression and the output will be garbled.
domain.xml compression settings are: