2

Faire cohabiter Varnish et PhpmyAdmin

PhpMyAdmin LogoAprès avoir réinstallé Varnish 3 (reverse proxy d’une efficacité redoutable) sur ce serveur afin de lui donner un coup de boost, je me suis retrouvé confronté à un problème: PhmyAdmin ne fonctionnait plus…

Pourtant ma configuration était correcte. Varnish est paramétré sur le port 80 tandis qu’Apache se trouve lui sur le port 8080 (via le fichier /etc/apache2/ports.conf).

De la même manière, le fichier de configuration de Varnish (/etc/varnish/default.vcl ) est paramétré de façon à ce qu’aucune requête ne soit mise en cache grâce aux lignes suivantes:

if(req.url ~ "/phpmyadmin") {
return (pass);
}

Et là? rien… J’ai bien accès à la page de connexion mais après avoir rentré identifiant + mot de passe, je me retrouve sur http://www.mondomaine.com:8080/phpmyadmin/ avec une page d’erreur.

Pourquoi? En fait, lors de la requête de Varnish vers PhpMyAdmin (sur Apache), PhpMyAdmin ne tiens pas compte de l’URL absolue et renvoie donc le navigateur sur le port 8080.

La solution

Afin de corriger ce problème, il suffit simplement de forcer l’URL absolue de PhPMyAdmin en ajoutant la ligne suivante dans le fichier config.inc.php (répertoire /etc/phpmyadmin/ pour ma part):

$cfg['PmaAbsoluteUri'] = 'http://www.nomdedomaine.com/phpmyadmin/';

Et n’oubliez pas, « Avec Varnish, les délais s’évanouissent! » (tutorial en prévision d’ici la fin de l’année.)

2 commentaires

  1. Depuis le temps que je veux essayer ce reverse proxy, je crois avoir lu quelque part qu’un serveur peut accepter pratiquement 500% de requêtes simultanées maximales en plus avec varnish.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *