burger
infomaniak
infomaniak
cloud-computing-logo
Cloud Computing
web-domain-logo
Web & Domaines
event-marketing-logo
Events & Marketing
  • Nos Produits
    • Outils collaboratifs icon chevron
    • Web & Domaines icon chevron
    • Cloud Computing icon chevron
    • Events & Marketing icon chevron
    • Streaming icon chevron

      ksuiteSuite collaborative

      Découvrir la suite collaborative → Découvrir →
    • kSuite E-mails professionnels, Cloud et IA souverains pour des performances durables
    • kSuite La suite pour communiquer, stocker et partager, en sĂ©curitĂ©
    • kdrive
      kDrive Stockez, Collaborez et partagez vos fichiers
    • mail service
      Service Mail Créez vos adresses mails avec votre domaine
    • kChat
      kChat Communiquez en direct avec vos équipes
    • kmeet
      kMeet Organisez vos réunions en ligne en toute sécurité
    • swisstransfer
      SwissTransfer Envoyez gratuitement vos fichiers jusqu’à 50 Go.
    • kpaste
      kPaste Partagez et chiffrez vos informations sensibles
    • ksuite
      Custom Brand Maîtrisez l'image de marque de vos produits
    • kChat
      Chk Réducteur de lien & générateur de code QR
      Trouvez l'hébergement Web qu'il vous faut
    • Domain name
      Nom de domaine Réservez votre nom de domaine au meilleur prix
    • Site Creator
      Site Creator Créez votre site en toute simplicité
    • web hosting
      Hébergement Web Créez votre site avec plus de 100 CMS
    • web hosting
      Hébergement WordPress Créez votre site WordPress facilement
    • Cloud Server
      Serveur Cloud Propulsez vos sites avec des ressources garanties
    • HĂ©bergement Node.js Creez un site dynamique et interactif avec Node.js
    • SSL Certificat
      Certificats SSL Sécurisez vos sites avec un certificat EV ou DV
    • Options
    • Domain privacy
      Domain Privacy Protégez les données privées de vos domaines
    • DNS Fast Anycast
      DNS FastAnycast Accélérez le temps d’accès de vos sites
    • Dyn DNS
      DynDNS Accédez à vos appareils à distance
    • Dyn DNS
      Renewal Warranty Sécurisez vos domaines contre la perte et le vol
      Trouvez la solution de Cloud Computing adaptée

      Cloud services

    • public cloud
      Public Cloud (IaaS) Créez vos projets sur un Cloud haut de gamme et ultra-compétitif
    • Cloud Server
      VPS Cloud Créez un serveur Windows/Linux
    • Kubernetes Service DĂ©ployez vos applications conteneurisĂ©es Ă  grande Ă©chelle.
    • VPS Lite
      VPS Lite Créez un serveur Windows/Linux à un coût avantageux
    • Database Service GĂ©rez vos bases de donnĂ©es avec une solution managĂ©e
    • jelastic cloud
      Jelastic Cloud (PaaS) Créez vos environnements sur mesure
    • Autres services

    • llm api
      AI Tools Augmentez votre productivite avec notre IA souveraine
    • swiss backup
      Swiss Backup Sauvegardez vos appareils dans le cloud
    • nas synology
      NAS Synology Louez un NAS dans nos datacenters sécurisés
    • High availibility
      Très Haute Disponibilité Créez une infrastructure multi-datacenters avec SLA sur mesure
    • Housing
      Housing Installez vos serveurs dans nos datacenters
    • Auth Ajoutez une mĂ©thode de login respectueuse de la vie privĂ©e Ă  vos apps
      Infomaniak Events, le portail évènementiel local et indépendant
      Billetterie en ligne avec un large choix de concerts, spectacles, évènements.
    • online shop
      Ticketing Créez votre billetterie et vendez des billets
    • kdrive
      Contrôle d'accès Contrôlez l'accès à vos événements facilement
    • kdrive
      Gestionnaire d'invités Automatisez les invitations de vos events
    • kdrive
      Newsletter Envoyez vos newsletters à des tarifs compétitifs
    • Streaming radio
      Streaming radio Créez et diffusez en direct votre radio en ligne
    • streaming video
      Streaming vidéo Créez et diffusez en direct vos évènements et TV en ligne
    • VOD and AOD
      Service VOD & AOD Hébergez et diffusez vos enregistrements sans limites
  • Ressources
    documentation icon Documentation
    Guides & tutoriels
    Documentation API
    special offers icon Offres spéciales
    Démarrer gratuitement
    Programme étudiant
    Devenir affilié
    partner program icon Programme partenaire
    Trouver un partenaire
    Devenir partenaire
    support icon Support & contact
    Contacter le support
    Support premium - 24/24 7/7
    Contacter le service commercial
    Engager un expert
    Migrer vers Infomaniak
  • Ă€ propos
    forest
    icon Engagement écologique
    Nous polluons. Mais nous agissons pour atténuer l’empreinte de nos services et de notre infrastructure
    Découvrir notre engagement →
    icon À propos d’Infomaniak
    Notre vision, nos valeurs
    Nos équipes
    Infomaniak recrute
    Presse et communication
    Blog et actualité
    icon Sécurité
    Confidentialité des données
    Programme de Bug Bounty
  • DĂ©marrer gratuitement
    Connexion
  • search-icon
    close-icon
      icon

      Vos besoins dépasseraient-ils nos solutions ? Pour en avoir le coeur net, contactez-nous afin que nous puissions personnellement vous conseiller.

      Nos produits phares :
  • search-icon
  • DĂ©marrer gratuitement
    Connexion
Prix Prix
Base de connaissances

1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !

Base de connaissances Utiliser Varnish sur Serveur Cloud

    Utiliser Varnish sur Serveur Cloud

    Ce guide présente plusieurs exemples d'utilisation de Varnish sur Serveur Cloud Infomaniak.

     

     

    ⚠️ Pour de l'aide supplémentaire contactez un partenaire ou lancez gratuitement un appel d'offres — découvrez aussi le rôle de l'hébergeur.

     

    Configuration de Varnish

    Après installation, la configuration de Varnish inclut des règles importantes pour la mise en cache et le purging. Soyez attentif à ne pas autoriser accidentellement des adresses IP non souhaitées.

    Voici à quoi pourrait ressembler un fichier de configuration de base avec quelques cas courants et différentes actions/règles dans un seul exemple:

    vcl 4.0;
    # Configuration du backend par défaut
    backend default {
        .host = "127.0.0.80";  # Adresse IP du backend
        .port = "80";           # Port du backend
    }
    # Définition d'une liste de contrôle d'accès (ACL) pour les IPs autorisées à purger le cache
    acl purge {
        "localhost";            # IP locale
        "1.2.3.4";              # IP de votre domicile
        "42.42.42.0"/24;        # Plage d'IP publique de votre entreprise
        ! "42.42.42.7";         # Exclusion d'une IP spécifique (ex : un collègue gênant)
    }
    # Traitement des requêtes à leur réception par Varnish
    sub vcl_recv {
        # Autoriser les requĂŞtes de purge
        if (req.method == "PURGE") {
            # Vérification si l'IP du client est autorisée à purger
            if (!client.ip ~ purge) {  # 'purge' fait référence à l'ACL définie plus haut
                # Retourne une page d'erreur si l'IP n'est pas autorisée
                return (synth(405, "Cette IP n'est pas autorisée à envoyer des requêtes PURGE."));
            }
            # Si l'IP est autorisée, purger le cache pour cette requête
            return (purge);
        }
        # Autoriser la purge de toutes les images via une requĂŞte PURGEALL
        if (req.method == "PURGEALL" && req.url == "/images") {
            if (!client.ip ~ purge) {
                return (synth(405, "Cette IP n'est pas autorisée à envoyer des requêtes PURGE."));
            }
            # Invalider tous les objets en cache correspondant Ă  des images
            ban("req.url ~ \.(jpg|png|gif|svg)$");
            return (synth(200, "Images purgées."));
        }
        # Ne pas mettre en cache les pages avec une autorisation (header Authorization)
        if (req.http.Authorization) {
            # Passer la requĂŞte directement au backend sans la mettre en cache
            return (pass);
        }
    }
    # Traitement de la réponse du backend avant de la renvoyer au client
    sub vcl_backend_response {
        # Mise en cache des images pour une durée de 1 jour
        if (beresp.http.content-type ~ "image") {
            set beresp.ttl = 1d;
        }
        # Si le backend indique que la réponse ne doit pas être mise en cache, respecter cette consigne
        if (beresp.http.uncacheable) {
            set beresp.uncacheable = true;
        }
    }

     

    Purge Ă  partir de l'interface CLI

    À partir de là, les règles énoncées dans la configuration ci-dessus fonctionnent sur toutes les demandes, donc si le site configuré est "domain.xyz", vous pouvez simplement utiliser l'outil CLI "curl" et faire ce qui suit:

    # Envoyer une requĂŞte PURGE pour purger la page d'accueil de "domain.xyz"
    $ curl -X PURGE https://domain.xyz/
    # Réponse renvoyée par le serveur Varnish
    <!DOCTYPE html>
    <html>
    <head>
        <title>200 Purged</title>
    </head>
    <body>
        <h1>Erreur 200 : Purge effectuée</h1>
        <p>La page a été purgée avec succès.</p>
        <h3>Guru Meditation:</h3>
        <p>XID: 2</p>
        <hr>
        <p>Serveur de cache Varnish</p>
    </body>
    </html>

    Et là, la page d'accueil a été purgée. Ou pour purger une autre URL, il suffit de faire pointer la requête vers cette dernière:

    # Envoyer une requête PURGE pour purger un fichier spécifique à "domain.xyz"
    $ curl -X PURGE https://domain.xyz/some_path/some_file.html
    # Réponse renvoyée par le serveur Varnish
    <!DOCTYPE html>
    <html>
    <head>
        <title>200 Purged</title>
    </head>
    <body>
        <h1>Erreur 200 : Purge effectuée</h1>
        <p>Le fichier a été purgé avec succès.</p>
        <h3>Guru Meditation:</h3>
        <p>XID: 4</p>
        <hr>
        <p>Serveur de cache Varnish</p>
    </body>
    </html>

    Ou, comme indiqué dans la configuration VCL, purger toutes les images:

    # Envoyer une requĂŞte PURGEALL pour purger toutes les images dans "domain.xyz"
    $ curl -X PURGEALL https://domain.xyz/images
    # Réponse renvoyée par le serveur Varnish
    <!DOCTYPE html>
    <html>
    <head>
        <title>200 Purged images</title>
    </head>
    <body>
        <h1>Erreur 200 : Images purgées</h1>
        <p>Toutes les images ont été purgées avec succès.</p>
        <h3>Guru Meditation:</h3>
        <p>XID: 32770</p>
        <hr>
        <p>Serveur de cache Varnish</p>
    </body>
    </html>

     

    Purge Ă  partir d'un CMS

    C'est un peu plus difficile d'illustrer ce cas car il existe de nombreuses façons de gérer la mise en cache depuis un backend. Dans l'exemple de configuration ci-dessus, un contrôle sur l'en-tête "Uncacheable" est ajouté, qui désactive la mise en cache. Avec cette option, n'importe quel CMS pourrait simplement définir cet en-tête sur la réponse pour désactiver la mise en cache de cette requête p.ex.

    A partir de n'importe quel code PHP et avec la configuration ci-dessus, vous pouvez simplement envoyer une requĂŞte HTTP et utiliser cet extrait pour effectuer un PURGE du cache:

    <?php
    if ($curl = curl_init("http://127.0.0.1/some_url")) {
        curl_setopt_array($curl, [
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_CUSTOMREQUEST => "PURGE",
            CURLOPT_HTTPHEADER => [
                "Host: {$_SERVER['HTTP_HOST']}"
            ]
        ]);
        curl_exec($curl);
        if (curl_getinfo($curl, CURLINFO_HTTP_CODE) == 200) {
            echo "Cache purged!";
        }
        curl_close($curl);
    }
    ?>

     

    En savoir plus

    Liens utiles concernant le langage de configuration Varnish (VCL) pour contrĂ´ler le traitement des demandes, le routage, la mise en cache et plusieurs autres aspects:

    • VCL Tutorial
    • VCL user guide
    • VCL Reference


    Lien vers cette FAQ:
    Cette FAQ a été utile?
    Merci pour votre avis. Apporter des améliorations à cette FAQ?
    Ne posez pas de question via ce formulaire, il sert uniquement à améliorer nos FAQ.
    Si vous avez une question, merci d'utiliser notre formulaire de contact.
    Votre message a été envoyé. Merci d'avoir proposé une amélioration pour cette FAQ.
    Voir toutes les FAQ de ce produit
    logo infomaniak
    Les prix n'incluent pas la TVA
    facebook
    twitter
    linkedin
    instagram

    Infomaniak

    À propos d'Infomaniak L'équipe Infomaniak recrute Espace presse Blog d'Infomaniak Tous les certificats Produits et offres Avis clients

    Support

    Assistance 7/7 FAQ et Guides Support Premium Contact commercial API REST Signaler un abus WHOIS Statuts Public Cloud Etat des services

    Partenariats

    Devenir revendeur Programme d'affiliation Annuaire partenaires Appel d'offres

    Ecologie

    Hébergeur écologique Certificats & Récompenses

    Suivez notre évolution

    L'e-mail saisi n'est pas valide
    earth icon
    • FR
      • FR
      • DE
      • EN
      • ES
      • IT
    ©2025 Infomaniak - Documents légaux - Mentions légales - Protection des données - Politique de confidentialité - Plan de site - Gérez vos cookies
    icann-logo
    swiss
    new-iso
    swiss-hosting
    logo infomaniak
    Les prix n'incluent pas la TVA

    Infomaniak

    À propos d'Infomaniak L'équipe Infomaniak recrute Presse et médias Blog d'Infomaniak Tous les certificats Produits et offres Avis clients

    Support

    Assistance 7/7 FAQ et Guides Offre Support Premium Contact commercial API REST Signaler un abus WHOIS Statuts Public Cloud Etat des services

    Partenariats

    Devenir revendeur Programme d'affiliation Annuaire partenaires Appel d'offres

    Ecologie

    Hébergeur écologique Certificats & Récompenses

    Suivez notre évolution

    L'e-mail saisi n'est pas valide
    icann-logo
    swiss
    new-iso
    swiss-hosting

    facebook
    twitter
    linkedin
    instagram
    ©2025 Infomaniak
    Contrats - Mentions légales - Protection des données - Politique de confidentialité - Plan de site - Gérez vos cookies

    Dirigeants

    earth icon
    • FR
      • FR
      • DE
      • EN
      • ES
      • IT
    Votre navigateur est obsolète, la sécurité et la navigabilité ne sont plus garanties. Nous vous recommandons de le mettre à jour au plus vite en cliquant ici.