[Catalyst] IE has problems with catalyst

Dami Laurent (PJ) laurent.dami at justice.ge.ch
Wed Sep 10 13:35:32 BST 2008


>-----Message d'origine-----
>De : snookums [mailto:kyle at lakeofburningfire.org] 
>Envoyé : mercredi, 10. septembre 2008 12:03
>À : catalyst at lists.scsys.co.uk
>Objet : [Catalyst] IE has problems with catalyst
>I hope someone can point out to me what's wrong here. I have a catalyst
>application that I've been developing. It takes a submitted 
>link, processes
>it, and regurgitates it with some changes. It's a get request. The
>processing can take up to about 10 seconds. I thought 
>everything was going
>fine, but I'm developing on mac. I've been testing it in 
>Safari. I quickly
>found that IE users couldn't access my application. They can get to the
>front page, but when they submit a link, the browser runs for 
>a little while
>and then gives a dns error page: cannot access this page, page not
>available, etc. Apache error and access logs don't even show the hit.
>I looked online and found that the problem might have 
>something to do with
>the keep-alive option. I changed my main app file to look like this.
>use parent qw/Catalyst/;
>use Catalyst qw/-k
>                -Debug
>                ConfigLoader
>                Static::Simple
>                UserAgent
>                Unicode
>                Compress::Gzip/;
>our $VERSION = '0.01';
>That didn't fix the problem, but I noticed some improvement for slower
>connections that weren't even getting the front page before. I 
>also should
>mention that I'm using Catalyst with the latest versions of 
>perl, apache,
>and mod_perl. I tried changing a few of my keep-alive options 
>in apache conf
>as well to increase the time before dropping a connection. I 
>haven't noticed
>any difference.
>Can anyone tell me how -k works? Is there a default timeout 
>value that I can
>change? Is this even the problem?


If your hypothesis about needing Keepalive is correct, and if your application in production runs under Apache, then you you need to activate Keepalive in your Apache configuration; its not a Catalyst property. So edit your httpd.conf and add

  KeepAlive On

One reason why this might be important is if you use the Microsoft NTLM protocol for
authentifying your users (mod_auth_ntlm or mod_auth_sspi or PerlAuthenHandler Apache2::AuthenNTLM); these definitely need KeepAlive to be on.

Hope this helps,

Best regards,

Laurent Dami

More information about the Catalyst mailing list