With help from Martin McClure and Peter McLain we seem to have identified the problem described earlier. It seems that a bug was introduced in FastCGI 2.4.4 that causes it to not play nice with compression. The fix planned for FastCGI is to not pass the ‘Content-length’ header. (Given that this field should be included, I’m not sure that this is the best fix, but that is out of my hands.)
It seems like GLASS developers have a few options:
- Patch the source and rebuild mod_fastcgi;
- Disable compression from the web server (e.g., removing mod_deflate);
- Use FastCGI version 2.4.2; or
- Modify FSSeasideHandler>>#’convertResponse:’ to not send ‘Content-length’.
I’ve tried each approach and decided to make the Smalltalk change since it is the area over which we have most control and it means that other Smalltalk developers will not need to do C programming or Apache configuration.
I’ve committed FastCGISeaside-jgf.50.mcz to the FastCGI project. I’ve also committed ConfigurationOfGsSeaside28-jgf.21.mcz to the Seaside project.
2 comments
Comments feed for this article
January 12, 2010 at 4:56 pm
GemStone on SliceHost « Programming Gems (on GemStone)
[…] Load the latest version of FastCGI to get a fix for a content-length bug: […]
December 8, 2014 at 9:48 am
Apache's mod_fastcgi and mod_deflate troubles
[…] mod_fastcgi interaction with mod_deflate […]