Caching is good. Generally speaking that is. However when applied to a legacy system without regard to the actual system, well then it might lock your users out 🙂
Frankly I´m quite suprised we didn’t see worse scenarious.
The case
We´ve got this site previously hosted under an apache web server running PHP with FastCGI. The other week it got changed to Litespeed instead. Our authentication is based (admittedly not in a good way) on the apache redirect using the following line:
[E=REDIRECT_REMOTE_USER:%{HTTP:Authorization},L]
Ok, what happens with this when caching gets enabled in Litespeed? 🙂 I think you can guess.. sometimes, something happens, other times not so much.
I wont go into the details of troubleshooting this since I actually didn’t, lucky enough the Hosts had some sharp minds actually knowing what they where doing so they quickly came up with a solution. Simply add this to the .htaccess to disable the Litespeed caching (note, the redirect thingy could be improved ie to be restricted to only php-files):
CacheDisable
RewriteEngine On
RewriteRule .* – [E=Cache-Control:no-cache]
I was hit by this too. I wonder why they enable such caching for everyone, with no regard for whether it will work in all cases.
In my case, pages weren’t updated when a user logged in, the user still saw the page he/she had been served before logging in. And if a user changed a page, he/she didn’t get served the new version.
Interestingly, this problem didn’t hit me until two weeks ago (assuming you’re on Surftown too). They might have enabled more aggressive caching, because I have been on Litespeed for months already. The transition to Litespeed was quite bad too, you got no info whatsoever about when your site would be migrated, and when mine was migrated, it became extremely slow. Turns out that the site files were owned by the wrong user, and the Surftown support just had to run a recursive chown. Sigh.