::franek::

Aller au contenu | Aller au menu | Aller à la recherche

Mot-clé : apache

KeepAlive On et SSL avec Internet Explorer

Une des bonnes pratiques de performance web est d'activer KeepAlive sur un serveur Apache.

Sur une de mes applications, le KeepAlive n'était pas activé pour IE et je ne comprenais pas pourquoi.

Après investigation, cela venait de la configuration par défaut de Apache dans mon Virtual Host sur le port 443 qui contenait les directives suivantes :

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

Cette directive indique à Apache de désactiver le KeepAlive pour Internet Explorer (Toute version confondue). C'est dû à un bug de IE de gestion du protocole SSL. Ce bug n'est présent que sur les versions de Internet Explorer inférieures ou égales à 6.

Dans mon cas, on peut remplacer la directive Apache par :

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

Source : http://blogs.msdn.com/b/ieinternals/archive/2011/03/26/https-and-connection-close-is-your-apache-modssl-server-configuration-set-to-slow.aspx

Segmentation fault avec la Zend Platform et le composant Zend_Cache du Zend Framework

Il nous aura fallu environ 1 mois sur nos serveurs de production pour trouver une résolution à ce problème. Afin que sa résolution puisse servir, je poste un petit mémo.

Si vous rencontrez des segmentations fault Apache du type :

[Mon Oct 05 13:02:32 2009] [notice] child pid 25046 exit signal Segmentation fault (11)

et que vous utilisez la Zend Platform et Zend Framework (et notamment le composant Zend_Cache), cela peut venir du backend Zend_Platform du module Zend Cache du Zend Framework.

En effet, le backend Zend_Platform du composant Zend_Cache du Zend Framework utilise les méthodes obsolètes de stockage en cache de la Zend Platform (output_cache_get / output_cache_put). Ces méthodes sont obsolètes (cf. la documentation de l'API de la Zend Platform). Vous devriez plutôt utiliser les méthodes zend_[shm|disk]_cache_delete, zend_[shm|disk]_cache_store, zend_[shm|disk]_cache_fetch.

Un bug (ZF-8003) a été ouvert sur le Zend Framework qui ne sera pas corrigé en raison de la non homogénéité des plate-formes (la version windows de la Zend Platform ne connait pas les nouvelles méthodes).

Pour régler le problème, une des solutions est d'utiliser le backend Zend Server du Zend Framework qui fonctionne avec les dernières version de la Zend Platform (3.6.2 et supérieure). Ce backend utilise les méthodes zend_[shm|disk]_cache_delete, zend_[shm|disk]_cache_store, zend_[shm|disk]_cache_fetch qui sont compatibles avec la Zend Platform.

J'espère que cela pourra aider.

à propos :: Mots-clés :: archives :: RSS :: Mail