Home Articles techniques Configuration de l’Edge pour votre activité en ligne
Applications

Configuration de l’Edge pour votre activité en ligne

About The Author

Outline

Résumé

Edgecast, aujourd’hui Edgio, propose des solutions de périphérie pour les entreprises de médias et les entreprises mondiales. Construites sur notre réseau de pointe, les solutions de diffusion, de calcul, de sécurité et de streaming de haute qualité d’Edgio alimentent et protègent certains des plus grands sites Web, applications et services OTT au monde. Nous comprenons l’importance de la configurabilité et de la flexibilité pour nos clients, c’est pourquoi nous fournissons une foule de technologies qui leur permettent de contrôler. Rules Engine n’en est qu’un exemple.

Le moteur de règles d’Edgio permet de personnaliser la façon dont les demandes sont traitées par notre réseau Edge. Par défaut, Edgio honore tous les en-têtes envoyés depuis les origines du client. Cependant, selon le contenu et le cas d’utilisation du client, des règles personnalisées peuvent être nécessaires pour remplacer le comportement par défaut de l’origine. Rules Engine et ses API associées offrent une grande flexibilité et une grande configurabilité. Ils permettent aux clients de contrôler leurs besoins en matière de diffusion de contenu et de sécurité avec une précision inégalée. Dans cet article, nous nous intéressons à certains cas d’utilisation courants et identifions les avantages tirés de l’utilisation de diverses règles définies dans Rules Engine.

Fonctionnalités du moteur de règles

Rules Engine comprend de nombreuses fonctionnalités précieuses, chacune définissant le type d’action à appliquer à la requête identifiée par un ensemble de conditions de correspondance. Une condition de correspondance identifie des types spécifiques de requêtes pour lesquelles un ensemble de fonctionnalités sera exécuté. Examinons d’abord les types de fonctionnalités disponibles pour les clients. Celles-ci personnalisent la façon dont notre réseau Edge gère les requêtes pour leur contenu. ‍

‍‍accès : ces fonctionnalités contrôlent l’accès au contenu. Par exemple, la fonctionnalité Token Auth détermine si l’authentification basée sur Token sera appliquée à une demande. Cela permet de limiter et de verrouiller l’accès aux données, fichiers ou pages uniquement aux personnes disposant des autorisations appropriées. Cela empêche le partage de contenu ou d’informations avec des utilisateurs non autorisés. Les autres contrôles d’accès incluent les pays/emplacements géographiques.

				
					<rule>
   <description>Enable Token Auth</description>
   <match.request.edge-cname.literal hostnames="origin.example-edgecast.com">
      <feature.access.token-auth enabled="true"/>
   </match.request.edge-cname.literal>
</rule>
				
			

Mise en cache : ces fonctionnalités personnalisent quand et comment le contenu est mis en cache. Rules Engine offre des dizaines de fonctionnalités de mise en cache pour vous aider à affiner la façon dont le périphérique gère votre contenu. Par exemple, le partage partiel du cache (PCS) détermine si un fichier partiellement mis en cache peut commencer à être utilisé comme cache-hit sur les requêtes suivantes, ou si le fichier doit être entièrement mis en cache avant de le servir depuis la périphérie. Lorsqu’ils sont activés, LES PC permettent de réduire la charge d’origine et d’améliorer les performances. Cela signifie que moins de demandes d’origine sont faites pour le contenu source, ce qui peut entraîner une facture de bande passante plus faible au niveau de l’hôte/du point d’origine. En parallèle, l’optimisation du cache peut aider à améliorer les performances en diffusant du contenu depuis la périphérie du CDN dans la mesure du possible.

				
					<rule>
   <description>Enable Partial Cache Sharing</description>
   <match.request.edge-cname.literal hostnames="origin.example-edgecast.com">
      <feature.caching.partial-cache-sharing enabled="true"/>
   </match.request.edge-cname.literal>
</rule>
				
			

En-têtes : ces fonctionnalités manipulent les en-têtes de requête et/ou de réponse à la volée. Par exemple, modifier l’en-tête de demande client permet aux utilisateurs d’écraser, d’ajouter ou de supprimer un en-tête d’une demande. Les utilisateurs peuvent contrôler le comportement de leurs sites Web et applications en personnalisant les données envoyées par le client ou reçues par le serveur.

				
					<rule>
    <description>Add CORS Header</description>
    <match.request.edge-cname.literal hostnames="origin.example-edgecast.com">
        <feature.headers.modify-client-response-header action="set" name="access-control-allow-origin" value="*"/>
    </match.request.edge-cname.literal>
</rule>
				
			

Journaux : parmi la suite d’analyses basées sur l’interface utilisateur, des journaux bruts, en temps réel et personnalisés peuvent être générés pour une vue approfondie (ou à 360 degrés) du CDN et de l’empreinte du trafic de sécurité. Ces fonctionnalités personnalisent les données stockées dans les fichiers journaux bruts. Par exemple, Mask Client Subnet détermine si l’adresse IP d’un client sera masquée à des fins de journalisation et de création de rapports. Cela aide à la conformité au Règlement général sur la protection des données (GDPR). Nous avons utilisé la livraison de journaux en temps réel pour soutenir Plus500, une société internationale de fintech, ce qui lui a permis de réaliser des versions logicielles plus rapides et plus sûres.

Origine : ces fonctionnalités contrôlent la façon dont le CDN communique avec un serveur d’origine. Par exemple, nombre maximal de requêtes Keep-Alive définit le nombre maximal de requêtes pour une connexion Keep-Alive avant sa fermeture. Cela améliore les performances Edge en minimisant le nombre d’étapes d’authentification TCP nécessaires pour les requêtes.

Spécialité : ces fonctionnalités fournissent des fonctionnalités avancées sur la façon dont le CDN se comporte avec l’origine ou le client. Par exemple, en basculant la règle QUIC, vous pouvez dicter si le client est informé que notre service CDN prend en charge QUIC. Ce faisant, Edgio peut servir des pages Web optimisées pour fonctionner à leur meilleur.

				
					<rule>
    <description>Enable QUIC</description>
    <match.request.edge-cname.literal hostnames="origin.example-edgecast.com">
        <feature.specialty.quic enabled="true"/>
    </match.request.edge-cname.literal>
</rule>
				
			

Variable utilisateur : attribue une valeur à une variable définie par l’utilisateur transmise à votre solution de traitement du trafic sur mesure. Ceci est souvent utilisé avec notre langage de script back-end personnalisé (LUA). L’un des avantages est qu’il permet à l’utilisateur d’injecter des variables définies par l’utilisateur dans une configuration statique afin de contrôler le back-end pour l’équilibrage de la charge du serveur.

Récapitulatif des fonctionnalités/avantages du moteur de règles.

Cas d’utilisation

Redirection de HTTP vers HTTPS : si vous ne forcez pas le trafic de votre site Web ou de votre application via TLS, les visiteurs verront apparaître l’avertissement de sécurité redouté dans leur navigateur. Les visiteurs de sites Web savent que les sites non sécurisés sont vulnérables aux attaques qui peuvent voler leurs informations. Un site sécurisé instille la confiance. Il permet aux visiteurs de savoir que vous faites votre part pour protéger leurs données personnelles. HTTPS est la clé pour assurer la sécurité et l’accessibilité, et la redirection de HTTP vers HTTPS s’effectue facilement avec Rules Engine. Edgio propose également un SSL (Secure Socket Layer) entièrement géré et un SSL BYOC (Bring Your Own Certificate) via l’intégration de coffre-fort de clés pour SSL.

Comprendre la géo des visiteurs et le type d’appareil : les entreprises peuvent obtenir une mine de renseignements en comprenant d’où viennent leurs visiteurs de propriété Web et quel type d’appareil est utilisé. Avec Rules Engine, des champs de journal personnalisés peuvent être ajoutés pour fournir un aperçu de la géolocalisation de la demande et du type de périphérique utilisé. Les variables HTTP facilitent la tâche et permettent à ces métriques d’être ajoutées aux journaux bruts. Cela crée une journalisation, un reporting interne, une surveillance, des informations et un dépannage plus approfondis.

En outre, la fonctionnalité redirection d’URL permet aux entreprises de rediriger les requêtes vers différentes URL en fonction de la région géographique de l’utilisateur final. Ceci est particulièrement utile pour les entreprises multinationales qui maintiennent différentes versions régionales de leurs sites Web (par exemple, différentes langues et différents thèmes).

				
					<rule>
   <description>Language Redirect</description>
   <select.first-match>
       <match.location.country.literal result="match" codes="US">
           <feature.url.url-redirect source="/80666BA/Origin1/(.*)" destination="%{scheme}://www.example-edgecat.com/us/$1" code="301"/>
       </match.location.country.literal>
       <match.location.country.literal result="match" codes="DE">
           <feature.url.url-redirect source="/80666BA/Origin1/(.*)" destination="%{scheme}://www.example-edgecat.com/de/$1" code="301"/>
       </match.location.country.literal>
   </select.first-match>
</rule>
				
			

Un autre cas d’utilisation géographique concerne les téléchargements de micrologiciels. Souvent, un client distribué dans le monde entier dispose d’une URL unique pour télécharger un micrologiciel. Mais ceux-ci doivent avoir les requêtes extraites du serveur régional le plus proche pour une meilleure expérience utilisateur final et pour s’assurer que les serveurs ne seront pas surchargés par trop de requêtes. Avec Rules Engine, une réécriture d’URL peut être appliquée pour que les requêtes soient redirigées vers un serveur régional en fonction de la géolocalisation à l’origine de la requête.

				
					<rule>
    <description>Rewrite for Regional Origin Servers</description>
    <select.first-match>
        <match.location.country.literal result="match" codes="US">
            <feature.url.url-rewrite source="/80666BA/Origin1/(.*)" destination="/80666BA/Origin-US/$1"/>
        </match.location.country.literal>
        <match.location.country.literal result="match" codes="DE">
            <feature.url.url-rewrite source="/80666BA/Origin1/(.*)" destination="/80666BA/Origin-DE/(.*)"/>
        </match.location.country.literal>
    </select.first-match>
</rule>
				
			

Refuser l’accès au contenu : il existe de nombreuses raisons pour lesquelles les entreprises en ligne doivent refuser ou bloquer l’accès à leur contenu. Le géoblocage restreint l’accès au contenu en fonction de l’emplacement de l’utilisateur final. Cela peut être nécessaire pour qu’une entreprise se conforme aux sanctions économiques et aux lois sur la confidentialité ou pour arrêter les menaces à la sécurité. Les règles de géoblocage peuvent être configurées dans le moteur de règles pour refuser ou autoriser l’accès au contenu en utilisant diverses conditions de correspondance de localisation, y compris les codes de région et de pays.

				
					<rule>
    <description>Deny RU Access</description>
    <match.location.country.literal result="match" codes="RU">
        <feature.access.deny-access enabled="true"/>
    </match.location.country.literal>
</rule>
				
			

Les clients peuvent également refuser l’accès au contenu à l’aide de l’authentification basée sur un token. Cela implique de refuser ou d’autoriser l’accès au contenu en fonction de nombreuses caractéristiques de la requête entrante, telles que la géolocalisation précise, le chemin d’URL, les valeurs de divers en-têtes et/ou cookies, les noms de fichiers, les adresses IP, etc. Le géoblocage est utilisé dans les services de streaming comme Netflix et Hulu pour se conformer aux lois sur les licences du contenu qu’ils diffusent sur Internet.

Cache-control : Rules Engine permet aux clients d’affiner la façon dont leur contenu est mis en cache sur nos serveurs périphériques. Il existe des dizaines de règles de mise en cache qui peuvent être appliquées en fonction de votre contenu et de vos exigences de diffusion. Voici quelques exemples de cas d’utilisation :

  • Le CDN, par défaut, suivra les directives de mise en cache définies par l’origine. Cependant, si l’origine demande de contourner le cache, le client peut facilement ignorer cette directive pour mettre la ressource en cache pour livraison. Cela permet de simplifier le contrôle du cache à l’aide du moteur de règles et évite au client d’avoir à modifier l’origine.
  • La règle External Max-Age permet de contrôler la revalidation du cache du navigateur vers le serveur périphérique. En d’autres termes, les clients peuvent spécifier le délai qui doit s’écouler avant qu’un navigateur ne vérifie la présence d’une nouvelle version d’une ressource à partir d’un serveur périphérique.
  • La règle obsolète pendant la revalidation améliore les performances en permettant à nos serveurs périphériques de fournir du contenu obsolète au demandeur pendant la revalidation. Le client a un contrôle total sur la durée après l’expiration de la durée de vie (TTL) pendant laquelle le CDN peut fournir du contenu obsolète. Une version de ceci est la règle livraison de contenu périmé en cas d’erreur. Ceci peut être utilisé pour servir du contenu mis en cache expiré lorsqu’une erreur se produit, soit pendant la revalidation du cache, soit lors de la récupération du contenu demandé à partir du serveur d’origine. Dans certains cas, les clients peuvent préférer cela plutôt que de transmettre une erreur à l’utilisateur final.
  • La mise en cache négative peut également être configurée via le moteur de règles pour mettre en cache brièvement des défaillances spécifiques afin de protéger l’origine d’une surtension de telles requêtes générant des erreurs. Nous avons vu cette configuration alléger la pression de l’origine lorsque les demandes ne peuvent pas être satisfaites. Il s’agit d’une fonctionnalité intéressante que les utilisateurs peuvent configurer pour réduire les pics d’origine sur les requêtes 4xx ou 5xx.
  • La fonctionnalité streaming Optimization de Rules Engine est parfaite pour ajuster votre configuration de mise en cache afin d’optimiser les performances des flux en direct et de réduire la charge sur le(s) serveur(s) d’origine.

Des configurations aussi uniques que vos besoins

Nous savons qu’il n’y a pas deux clients identiques, et même deux entreprises du même secteur auront des exigences de contenu différentes. Rules Engine vous donne un contrôle total sur la façon dont le réseau est configuré pour gérer votre contenu. Nous travaillons avec des entreprises petites et grandes et pouvons nous assurer que notre réseau est affiné pour répondre à la livraison experte de votre contenu.

Contactez-nous pour en savoir plus sur la façon dont Rules Engine peut répondre à vos besoins en contenu et en diffusion.