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

Configuration de l’Edge pour vos activités en ligne

About The Author

Outline

Résumé

Edgecast, aujourd’hui Edgio, propose des solutions de pointe pour les entreprises de médias et les entreprises mondiales. Basées sur notre réseau de pointe mondial, les solutions de livraison, 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 multitude de technologies qui leur donnent le contrôle. Rules Engine n’en est qu’un exemple.

Le moteur de règles d’Edgio permet de personnaliser la façon dont les requêtes 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 examinons quelques 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

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

accès : ces fonctionnalités contrôlent l’accès au contenu. Par exemple, la fonction Token Auth détermine si l’authentification basée sur les tokens sera appliquée à une demande. Cela permet de limiter et de verrouiller l’accès aux données, aux fichiers ou aux 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 Edge gère votre contenu. Par exemple, le partage partiel de cache (PCS) détermine si un fichier partiellement mis en cache peut commencer à être servi comme un accès de cache sur les requêtes suivantes, ou si le fichier doit être entièrement mis en cache avant d’être servi à partir de la périphérie. Lorsqu’il est activé, PCS aide à réduire la charge d’origine et améliore les performances. Cela signifie que moins de demandes d’origine sont faites au contenu source, ce qui peut entraîner une facture de bande passante plus faible à l’hôte/à l’origine. En parallèle, l’optimisation du cache peut aider à améliorer les performances en diffusant du contenu à partir de la périphérie du CDN chaque fois que 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, l’en-tête de requête Modify client permet aux utilisateurs d’écraser, d’ajouter ou de supprimer un en-tête d’une requête. 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 du 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 (RGPD). Nous avons utilisé la livraison de journaux en temps réel pour soutenir Plus500, une société internationale de fintech, leur permettant de créer 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 en périphérie 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 pour 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 au mieux.

				
					<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). Un avantage est qu’il permet à l’utilisateur d’injecter des variables définies par l’utilisateur dans une configuration statique pour contrôler le back-end pour l’équilibrage de charge du serveur.

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

Cas d’utilisation

Redirection HTTP vers HTTPS : si vous ne forcez pas le trafic de votre site Web ou de votre application sur TLS, les visiteurs verront l’avertissement de sécurité redouté apparaître dans leur navigateur. Les visiteurs du site Web savent que les sites non sécurisés sont vulnérables aux attaques qui peuvent voler leurs informations. Un site sécurisé inspire 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 est effectuée 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 d’informations 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 d’appareil utilisé. Les variables HTTP facilitent cette tâche et permettent d’ajouter ces métriques aux journaux bruts. Cela crée une journalisation, des rapports internes, une surveillance, des informations et un dépannage plus approfondis.

En outre, la fonction de redirection d’URL permet aux entreprises de rediriger les demandes vers différentes URL en fonction de la région géographique de l’utilisateur final. Cela est particulièrement utile pour les entreprises multinationales qui gèrent différentes versions régionales de leurs sites Web (par exemple, différentes langues et 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 ont besoin que les requêtes soient extraites du serveur régional le plus proche pour une meilleure expérience de l’utilisateur final et pour s’assurer que les serveurs ne seront pas surchargés avec trop de requêtes. Avec Rules Engine, une réécriture d’URL peut être appliquée pour que les demandes soient réacheminées vers un serveur régional en fonction de la géolocalisation initiant la demande.

				
					<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éoblocking restreint l’accès au contenu en fonction de l’emplacement de l’utilisateur final. Cela peut être nécessaire pour une entreprise pour se conformer aux sanctions économiques et aux lois sur la protection de la vie privée ou pour mettre fin aux menaces de sécurité. Les règles de géolocalisation 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 d’emplacement, 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 les tokens. 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éoblocking 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 à contourner le cache, le client peut facilement ignorer cette directive pour que l’actif soit mis en cache pour la livraison. Cela permet de simplifier le contrôle du cache à l’aide du moteur de règles et évite au client d’avoir à effectuer des modifications d’origine.
  • La règle External Max-Age permet de contrôler la revalidation du cache du navigateur vers le serveur Edge. En d’autres termes, les clients peuvent spécifier le délai qui doit s’écouler avant qu’un navigateur vérifie la présence d’une nouvelle version d’un actif à partir d’un serveur périphérique.
  • La règle périmée pendant la revalidation améliore les performances en permettant à nos serveurs périphériques de fournir du contenu périmé au demandeur pendant la revalidation. Le client a un contrôle total sur la durée au-delà de l’expiration du délai de vie (TTL) pendant laquelle le CDN peut livrer du contenu périmé. Une version de ceci est la règle de livraison de contenu périmé en cas d’erreur. Ceci peut être utilisé pour servir le 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 au transfert d’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 augmentation de ces requêtes qui génèrent 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 excellente fonctionnalité que les utilisateurs peuvent configurer pour réduire les pics d’origine sur les requêtes 4xx ou 5xx.
  • La fonctionnalité Streaming Optimization du moteur de règles est parfaite pour régler 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 diffusion 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.