Divers

En cas d’erreur avec le module ou bien un site web, voici quelques informations qui vous seront utiles afin de trouver la source du problème.

Installation

Parfois, Apache prend trop de temps à se fermer ce qui fait en sorte que Nginx ne peut se lancer sur le port 80, car ce dernier est toujours en utilisation. Lorsque ce problème arrive, il suffit de forcer l’arrêt d’Apache et de redémarrer Apache et Nginx.

Si l’installation a été fermée par erreur ou semble tourner en boucle, commencez par vérifier avec l’outil « top » pour vous assurer qu’elle n’effectue plus rien. Notez le numéro de PID puis tuez le processus. Relancez-le par la suite.

Ports

Lorsque le module d’accélération est activé, Nginx se trouve à utiliser le port 80 et le port 443. Pour ce qui est d'Apache, celui-ci utilisera le port 8080 et le port 8443. Si vous désirez mettre en place la cache sur un site et que vous voyez un comportement anormal, vous pouvez débloquer les ports d’Apache dans le pare-feu. Il vous sera alors possible de comparer un site avec cache et sans cache, sans avoir à désactiver et réactiver la mise en cache.

Cloudflare

Lorsque vous utilisez Cloudflare afin d'obtenir un certificat SSL gratuit sans en avoir réellement un sur votre hébergement, normalement il faut choisir d’utiliser le mode « flexible ». Cependant, ce mode pose problème avec le module de cache. Le problème n’est pas relié à la mise en cache, mais bien avec la redirection qui se fait lors de la communication entre les serveurs de Cloudflare et Nginx.

Quelle est la cause du problème ?

Lorsqu’un site utilise un certificat flexible de Cloudflare, la communication entre le visiteur et Cloudflare est sécurisée, cependant la communication entre Cloudflare et le site web ne l’est pas.

Visiteur --- HTTPS ---> Cloudflare --- HTTP --- > Site web

Plusieurs CMS (Content Management System), comme WordPress, peuvent rencontrer des problèmes de boucle infinie avec ce type de communication puisqu’ils devraient normalement toujours être accédés en utilisant HTTPS (en mode sécurisé). Donc ceci crée le scénario suivant :

  1. Le visiteur demande la page : https://exemple.com (avec HTTPS)
  2. Cloudflare reçoit la demande pour https://exemple.com (avec HTTPS)
  3. Cloudflare communique avec le serveur web sur http://exemple.com (sans HTTPS)
  4. Le site reçoit la demande non sécurisée de Cloudflare.
  5. Le site redirige la demande vers https://exemple.com (avec HTTPS)
  6. Retour au point numéro 2 et la boucle se poursuit sans fin.

Deux solutions sont possibles pour régler cette problématique.

  • Changer le type de certificat utilisé chez Cloudflare de « flexible » à « full » ET installer un certificat SSL sur le site, qu’il soit autosigné ou émis par une autorité de certification.
    ou :
  • Ajouter la ligne « $_SERVER['HTTPS']='on'; » (sans les « ») dans le fichier de configuration de votre CMS. Pour WordPress, il s’agit d’insérer cette ligne dans le fichier « wp-config.php ».
Sidebar