Serveur dédié : retirer Varnish, devenu inutile avec HTTPS

J’ai vraiment aimé jouer avec Varnish.

Le problème, c’est qu’en passant l’intégralité du site en HTTPS, il m’est devenu inutile.

Varnish est incompatible avec HTTPS et ne le sera probablement jamais puisque les connexions chiffrées ne doivent, par définition, jamais être mises en cache.

Par conséquent, j’ai décidé de le retirer temporairement du serveur : cela me fera un service de moins à gérer.

Notez que je ne le désinstalle pas, je m’assure juste qu’on ne fait pas appel à lui. Cela me permettra de le remettre en route si jamais j’héberge un jour un site en HTTP simple.

Ce tutoriel part du principe que vous avez suivi les tutoriels précédents et que votre serveur tourne avec Apache et Varnish comme reverse-proxy.

Configuration d’Apache

On doit éditer plusieurs fichiers :

1. le fichier /etc/apache2/ports.conf :

 nano /etc/apache2/ports.conf 

On remet les valeurs par défaut et on écoute sur le port 80 :

# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz

# SkyMinds.Net
# Quand Varnish est actif
# NameVirtualHost *:8080
# Listen 8080

# Apache only
NameVirtualHost *:80
Listen 80


    # If you add NameVirtualHost *:443 here, you will also have to change
    # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
    # to 
    # Server Name Indication for SSL named virtual hosts is currently not
    # supported by MSIE on Windows XP.

   NameVirtualHost *:443
   Listen 443



    Listen 443
Code language: PHP (php)

2. les fichiers de chacun de nos VirtualHosts :

nano /etc/apache2/sites-available/www.skyminds.net
nano /etc/apache2/sites-available/static.skyminds.netCode language: JavaScript (javascript)

On écoutait sur le port 8080, on se remet sur le port 80 :

#<virtualhost *:8080="">
<virtualhost *:80="">
Code language: HTML, XML (xml)

Configuration de Varnish

Au cas où le service Varnish se lance un jour, on modifie le port sur lequel il tourne:

nano /etc/default/varnishCode language: JavaScript (javascript)

On n’écoute plus sur le port 80 mais sur un autre port, disons 8081 :

#DAEMON_OPTS="-a :80 \
DAEMON_OPTS="-a :8081 \
             -T localhost:6082 \
             -f /etc/varnish/default.vcl \
             -S /etc/varnish/secret \
-p vcc_err_unref=off \
             -s file,/home/install/varnish/$INSTANCE/varnish_storage.bin,2G"
#             -s file,/var/lib/varnish/$INSTANCE/varnish_storage.bin,2G"Code language: PHP (php)
Distingo, le livret à 2%

Relance des services

Une fois ces changements effectués, il ne reste plus qu’à relancer les services :

service varnish stop
service apache2 restart

Et voilà, plus de Varnish pour le moment.

Demandez à l'IA son opinion
Gravatar for Matt Biscay

Je suis Matt Biscay, développeur WordPress & WooCommerce certifié chez Codeable, administrateur système et enseignant.

J’aide les entreprises à créer, optimiser et fiabiliser leurs sites WordPress avec une approche technique propre : performance, sécurité, maintenance, développement sur mesure et résolution de problèmes complexes.

Sur Skyminds, je partage des tutoriels WordPress, WooCommerce, Linux et administration système, avec des solutions testées sur des cas réels et pensées pour durer.

Découvrez mes services WordPress et WooCommerce.

2 pensées sur “Serveur dédié : retirer Varnish, devenu inutile avec HTTPS”

  1. Bonsoir Matt,

    Varnish n’est pas compatible avec https effectivement mais il est possible en créant une instance Nginx qui écoutera sur deux ports différents de le rendre plus ou moins compatible.

    Plus d’explications ici ou encore ici

    Mais cela ne te concerne apparemment pas puisque d’après un petit

    curl -I skyminds.net

    qui me dit que ton site tourne sur Apache et malheureusement comme tu dis c’est donc inutile d’utiliser Varnish en https sous Apache, du moins pour l’instant.

    Reply
    • Bonjour Colapsnux,

      Merci pour les liens, cela permet de trouver une alternative.

      Je me demande s’il est vraiment utile d’avoir Varnish lorsque l’on utilise NginX : cela fait un peu double emploi vu que NginX fait tout cela nativement.

      Pour Apache en HTTP simple, je trouvais cela super au niveau de la charge du serveur et des temps de réponse.

      Reply

Opinions