5 votes

ERR_CONNECTION_REFUSED après l'installation de Varnish sur un serveur Apache2

Après avoir installé Vernis via sudo apt-get update && sudo apt-get install varnish et ensuite :

sudo sed -i 's/Listen 80/Listen 8080/g' /etc/apache2/ports.conf
sudo sed -i 's/\*\:80/\*\:8080/g' /etc/apache2/sites-available/000-default.conf
sudo sed -i 's/DAEMON_OPTS="-a \:6081 \\/DAEMON_OPTS="-a \:80 \\/g' /etc/default/varnish
sudo systemctl restart apache2.service && sudo service varnish restart 

Si je vais sur un site web qui fonctionnait avant cette installation, j'obtiens :

ERR_CONNEXION_REFUSÉE.

Ceci est câblé parce que le backend par défaut dans /etc/varnish/default.vcl est .port = "8080"; .

  • Lors de l'exécution de l'un ou l'autre varnishncsa o varnishlog n'apporte aucune sortie dans Bash.

Ma question :

Pourquoi cela se produirait-il ? Vernis est sur le port 80, Apache sur 8080... Qu'est-ce qui pourrait encore se passer ?

Notes :

J'ai également essayé de remplacer 80 par 8080 dans tous les fichiers de configuration de mon site Web. Outre le fait que cela n'a pas aidé, j'avais déjà réalisé que c'était une erreur (les sites web sont accessibles par le port 80, donc contrairement à 000-default.conf leur fichier de conf ne devrait pas changer le port en 8080).

4voto

Kaz Wolfe Points 32777

ERR_CONNECTION_REFUSED signifie généralement qu'un port est bloqué par un pare-feu, ou que rien n'écoute sur ce port.

Si vous utilisez Ubuntu 15.04 ou une version plus récente, le passage à l'option systemd a changé la façon dont Varnish lit les configurations. A savoir, il ignorera /etc/default/varnish et lire à la place le fichier de service à /etc/systemd/system/varnish.service . Par conséquent, votre serveur Varnish fonctionne probablement sur le port par défaut 6081.

Pour résoudre ce problème, vous devez remplacer la fonction systemd configurer. Exécutez ces commandes :

sudo mkdir -p /etc/systemd/system/varnish.service.d
sudo nano /etc/systemd/system/varnish.service.d/customexec.conf

Cela créera un fichier d'exécution personnalisé pour le service de Varnish, qui contiendra vos paramètres personnalisés. Dans ce fichier, assurez-vous que le contenu est :

[Service]
ExecStart=
ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m

Effectuez toutes les modifications que vous souhaitez apporter à la configuration, puis enregistrez le fichier avec Ctrl + X .

Rechargez le systemd le cache du service en exécutant cette commande :

sudo systemctl daemon-reload

Lorsque cette commande est terminée, redémarrez le service Varnish :

sudo systemctl restart varnish.service

Assurez-vous que votre pare-feu autorise le port 80, et vous devriez être prêt.

Comme d'habitude, cette solution suppose également qu'Apache utilise le port 8080 pour tout -- il devrait y avoir aucun lien au port 80 n'importe où dans la configuration d'Apache. Vérifiez deux fois pour vous assurer que c'est le cas. Si c'est le cas, l'un des deux Apache ou Varnish ne pourra pas démarrer ou fonctionner.

(source)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X