CloudFlare: un guide complet pour améliorer la vitesse et la sécurité du site Web
CloudFlare, dérivé de Project Honeypot, est un fournisseur de services de détection et de protection DDOS qui peuvent réduire la pression du serveur et accélérer les sites Web. Il propose également l'option "toujours en ligne", fournissant une version simplifiée du site Web en cas de panne de serveur source.
Ce qui est unique dans CloudFlare, c'est qu'il n'est pas comme un outil d'accélération / performance dès le départ, mais plutôt à partir d'un projet de pot de miel conçu pour fournir des services de protection des spams et des pirates. À ce jour, la détection et la protection DDOS sont toujours l'un des principaux arguments de vente de Cloudflare. Son algorithme enregistre l'adresse IP du visiteur, la charge utile, la demande de ressources et la fréquence de demande de détection des visiteurs malveillants.
Étant donné que CloudFlare est situé dans un emplacement proxy entre le site Web et tout le trafic entrant, il peut considérablement soulager la pression sur le serveur que les attaques DDOS ne peuvent même pas atteindre le site Web d'origine, comme indiqué dans l'introduction. CloudFlare propose également l'option "toujours en ligne", qui cache une version du site Web de l'utilisateur et fournit une version simplifiée du site Web lorsque le serveur source échoue (le site Web d'origine renvoie une erreur 5xx ou 4xx). Il a également des fonctionnalités de mise en cache pleine page.
Ces fonctionnalités présentent d'énormes avantages: ils peuvent économiser des serveurs Web aux prises avec des charges élevées et fournir aux développeurs un espace respiratoire pour résoudre le problème en cas d'erreurs de serveur.
CloudFlare offre également des services gratuits. Bien sûr, il y a des forfaits premium, et certaines fonctionnalités (telles que des règles de page supplémentaires) sont payées, mais la portée du niveau gratuit de CloudFlare suffit à elle seule pour en faire la peine d'être apprise sur ses avantages et ses inconvénients. Les références comparatives montrent que CloudFlare est à un niveau modéré de vitesse, mais il est difficile de dire que c'est le CDN le plus rentable du marché.
Paramètres de cloudflare
La création d'un site Web avec CloudFlare est très simple. Après s'inscrire à https://www.php.cn/link/6f7bc4baeb295716fa1dbbf64887fcff , nous pouvons ajouter un nouveau site Web. Nous voyons une vidéo d'introduction lorsque le système analyse l'IP et d'autres détails pour un domaine donné. Une fois terminé, nous obtiendrons un nouveau serveur de noms de domaine qui doit être configuré dans notre registraire.
Nous devons enregistrer ces serveurs de noms de domaine dans notre registraire et attendre que les modifications se propagent sur Internet. Cela peut prendre jusqu'à 24 heures.
Ce changement signifie donner tout notre contrôle sur le domaine au cloudflare. Cela signifie également que si nous avons des e-mails (enregistrements MX) sur ce domaine, nous devons transférer ces enregistrements vers CloudFlare. Si nous avons des sous-domaines, nous devons également le définir sur l'enregistrement correspondant dans le tableau de bord de CloudFlare.
Tous les enregistrements de domaine existants mis en place dans notre registraire de domaine ou les fournisseurs d'hébergement nécessitent un mouvement / copie dans CloudFlare.
Certains fournisseurs d'hébergement peuvent simplifier / automatiser ce processus de conversion davantage.
Pour chacun de nos enregistrements de domaine, nous avons la possibilité de laisser tout le trafic passer directement par nos serveurs - ce qui signifie que nous pouvons définir des exceptions pour certains sous-domaines - ou nous pouvons désactiver toutes les fonctionnalités de CloudFlare - par exemple, lorsque nous faisons certains. modifications sur le site Web.
Une fois que nous avons configuré le domaine, c'est essentiellement tout le travail nécessaire en dehors du tableau de bord CloudFlare. Aucune autre opération n'est requise sur le site Web lui-même ou sur le serveur source. Tous les ajustements supplémentaires sont effectués sur le site Web de CloudFlare.
Paramètres de chiffrement
Les certificats SSLfont partie du programme CloudFlare gratuit. Il existe quatre options de paramètres SSL que nous pouvons trouver sous l'onglet de chiffrement du tableau de bord.
Avec ces paramètres, nous devons nous assurer que la configuration est raisonnable, car nous avons deux couches entre l'utilisateur final et le contenu du serveur, de sorte que l'omission ici provoquera une boucle de redirection, ou trop de redirections ralentiront finalement la site web.
CloudFlare offre également la possibilité d'acheter des certificats personnalisés, qui offre la possibilité de télécharger des certificats personnalisés / premium pour les utilisateurs avancés qui ont besoin de sécurité supplémentaire ou de se soucier de leur image de marché. Cela fait partie du programme avancé.
Sécurité du site Web
C'est un domaine où CloudFlare brille: il offre une valeur libre sans précédent. Tout au long de l'espace d'hébergement, la protection DDOS est un service avancé qui n'est pas toujours disponible même pour les clients payants.
CloudFlare offre une protection DDOS illimitée au niveau gratuit, ainsi que d'autres outils assez complexes qui protègent les sites Web au niveau de l'infrastructure avant l'arrivée du trafic malveillant. Il fournit une limite de taux de - restreindre l'accès en fonction des règles personnalisables définies par l'utilisateur. Il fournit des règles de pare-feu intelligentes, le blocage des pays, la vérification de l'intégrité du navigateur, la protection du code de vérification, etc.
Maintenant, lorsque les botnets dominent Internet, les sites Web ou les serveurs nouvellement installés sont parfois submergés par des tentatives de force brute dans les minutes suivant la mise en ligne, lorsque les spammeurs exécutent automatiquement les commentaires Web et même sans aucune intrusion, le spam de recommandation lorsque le courrier électronique est également endémique , Post-attaques et attaques lents en utilisant des moyens non conventionnels ne sont pas rares. Cette protection peut être des sites Web réussis ou de taille moyenne.
Il existe également des protections de rampe qui refusent certaines ressources à certains profils des visiteurs ou par des e-mails.
Le package premium offre plus d'options.
vitesse et performances
Par défaut, en utilisant CloudFlare, nous pouvons mettre en cache du contenu statique - javascript, polices, feuilles de style et même images. Nous pouvons définir des règles d'expiration de cache. Pour divers systèmes CMS, il existe des plugins qui peuvent se connecter à CloudFlare afin que nous puissions effacer les caches dans le site Web.
Ces ressources statiques sont "prises en contrôle" par l'infrastructure de CloudFlare après la configuration DNS, puis servies à partir de leurs réseaux de centres de données dans le monde entier en fonction de l'emplacement du visiteur.
Les ressources peuvent être mises en cache (ou récupérées à partir de la source) en fonction de la chaîne de requête ou de l'en-tête de cache définie par notre serveur source. Par exemple, dans PHP, nous pouvons définir l'expiration du cache comme ceci:
<code>header('Cache-Control: max-age=3600');</code>
Si cela ne suffit pas, nous devrons peut-être supprimer les en-têtes pragma , expire et
Nous pouvons également le faire au niveau du serveur. Dans Nginx, nous définirons ces règles dans un bloc / fichier hôte virtuel:<code>header_remove('Pragma'); header_remove('Expires'); header_remove('Cache-Control');</code>
Les utilisateurs d'Apache ajouteront quelque chose comme ça à leur fichier .htaccess:
<code>if ($http_cookie ~* "some-cookie") { #removing headers that stop Cloudflare cloudflare from caching more_clear_headers 'Pragma'; more_clear_headers 'Expires'; more_clear_headers 'Cache-Control'; add_header Cache-Control "no-cache, no-store, max-age=0"; } location ~* "(!?.*some-url-path.*)" { #removing headers that stop Cloudflare cloudflare from caching more_clear_headers 'Pragma'; more_clear_headers 'Expires'; more_clear_headers 'Cache-Control'; add_header Cache-Control "max-age=3600"; }</code>
Évidemment, le ci-dessus
<code><ifmodule> mod_headers.c></ifmodule> Header unset Pragma env=LONGCACHE Header unset Expires env=LONGCACHE Header set Cache-Control "max-age=3600" env=LONGCACHE</code>
et quelque chose d'url doit être remplacé par les valeurs correctes. Ces règles sont également requises pour la mise en cache de page mentionnée ci-dessous. Nous pouvons choisir de compresser nos CSS, JS et HTML. Il existe une option pour utiliser AMP pour les liens AMP sortants. Il y a aussi une charge de fusée de fonction
bêta, qui utilise le stockage local du navigateur regroupé de manière asynchrone et fournit JS. Cependant, soyez prudent avec cela, car de petites erreurs dans l'ordre de chargement des ressources peuvent briser votre site Web. Les clients payants peuvent utiliser la fonction RailGun, qui résout le principal point de douleur du système de cache - contenu dynamique. Il essaie d'accélérer la livraison du contenu dynamique du serveur source. Il nécessite que les logiciels soient installés sur le serveur source et fonctionnent en compressant le contenu livré et "
maintenir une connexion persistante unique pour plusieurs demandes simultanées, éliminant la latence de la connexion réseau". Cela rappelle la fonctionnalité de multiplexage du protocole HTTP / 2 - juste ici, entre le serveur d'origine et CloudFlare. Pro Plan a également une compression / optimisation d'image, ainsi que des mécanismes polonais et mirage. Dans l'onglet Traffic, il existe des options d'optimisation de routage ARGO et d'équilibrage de charge dans les centres de données globaux de CloudFlare.
CACHE HTML PAGE Full Page
La mise en cache pleine page signifie le cache toutes les sorties de notre système - CMS, applications, systèmes de blog ou tout autre contenu.
Sous "Règles de page", il existe un joyau caché qui convertit votre compte CloudFlare en un système de cache complet qui peut rivaliser avec des solutions professionnelles comme le vernis - et en raison des centres de données mondiaux - peut l'emporter.
Définissez la règle de niveau de cache sur Cache tout contenu Cache tout le contenu HTML du site Web ainsi que toutes les autres ressources.
En tri ces règles, nous pouvons implémenter des solutions complexes de mise en cache / exclusion et fournir même du contenu généré dynamiquement avec un minimum de retards. 15 fois la première fois l'amélioration des octets (TTFB) n'est pas inconnu.
Ces règles soutiennent les caractères génériques et doivent être triés par priorité:
<code>header('Cache-Control: max-age=3600');</code>
Si nous utilisons cette règle en conjonction avec le paramètre de contournement dans l'image suivante, nous pouvons distinguer les parties du site Web qui doivent être mises en cache / omises du cache dans différentes conditions - comme la partie de gestion, etc.
Si le cache de page fonctionne, nous devrions voir cf-cache-status: hit dans l'en-tête de réponse de l'inspecteur du navigateur.
Les clients payants ont d'autres options de mise en cache ou de contourner la mise en cache en fonction des cookies. Ici, le nom des cookies peut être défini à l'aide de caractères génériques, et le contenu peut également être mis en cache en fonction du type d'appareil.
Ces règles sont plus complexes et tous les types de sites Web n'en ont pas besoin. Les clients gratuits peuvent utiliser des règles de trois pages, mais des règles supplémentaires peuvent être achetées.
http / 2 et serveur push
HTTP / 2 est disponible par défaut pour les clients gratuits et d'entreprise - une amélioration significative du protocole HTTP / 1.1, notamment:
Bien qu'il soit reconnu que les améliorations et la valeur de Cloudflare doivent être jugées au cas par cas, il est juste de dire que la valeur fournie par CloudFlare (en particulier son niveau libre) est fermement supérieure à la moyenne.
Conclusion
Cet article décrit comment utiliser et configurer CloudFlare et des sites Web pour le rendre rapide, fiable et résistant aux DDOS. Cela ne veut pas dire que les sites Web CDN sont imperméables. En fait, il apporte de nouvelles vulnérabilités.
Il s'agit d'un problème majeur pour l'Internet européen lorsque les erreurs humaines entraînent des dommages aux services CloudFlare dans le cas du fournisseur de réseau Suédois de Telia 2016. On estime que 6,2% des 1 million de sites Web au monde utilisent les services CloudFlare.
Quoi qu'il en soit, nous ne devrions pas avoir peur du CDN à cause d'un tel incident. Ils sont rares et aident finalement à construire un réseau plus fort.
FAQ sur la création de votre site Web plus rapide et sûr avec CloudFlare
CloudFlare est une entreprise d'infrastructure réseau et de sécurité de site Web qui fournit des services de réseau de livraison de contenu, une atténuation DDOS, une sécurité Internet et des services de serveur de noms de domaine distribué. Il fonctionne en protégeant et en accélérant tout site Web en ligne. Une fois que votre site Web fait partie de la communauté Cloudflare, son trafic de réseau est acheminé via son réseau mondial intelligent. Ils optimisent automatiquement la livraison de la page Web afin que vos visiteurs obtiennent le temps de chargement de page le plus rapide et les meilleures performances.
CloudFlare améliore la vitesse du site Web via son réseau de livraison de contenu (CDN). CDN est un réseau de serveurs situé dans le monde entier qui cache le contenu statique de sites Web tels que les images et les fichiers CSS / JavaScript. Lorsque les utilisateurs visitent votre site Web, le contenu statique est livré à partir du serveur CDN le plus proche, réduisant le temps de chargement.
Cloudflare protège votre site Web contre diverses menaces, notamment l'injection SQL, les attaques DDOS et les attaques de scripts inter-sites. Il utilise une gamme de technologies de sécurité, y compris le pare-feu d'application Web (WAF), Secure SSL et Global CDN pour protéger votre site Web.
CloudFlare propose une gamme de plans pour répondre à différents besoins. Il s'agit notamment de plans gratuits, de plans professionnels, de plans d'affaires et de plans d'entreprise. Chaque plan offre des fonctionnalités et des niveaux de support différents, et le plan d'entreprise offre l'ensemble de fonctionnalités le plus complet.
La fonction d'optimisation d'image de CloudFlare (appelé Polish) réduit la taille du fichier de l'image pour augmenter le temps de chargement de la page. Il fournit deux modes: le mode sans perte, qui réduit la taille du fichier sans modifier l'image;
L'optimisation mobile de CloudFlare (appelée Mirage) est conçue pour améliorer les performances de votre site Web sur votre appareil mobile. Il le fait en retardant le chargement des images, en fusionnant les connexions réseau et en fournissant des images de taille appropriée selon l'appareil.
La configuration de CloudFlare implique la création d'un compte CloudFlare, l'ajout de votre site Web au compte et la mise à jour du serveur de noms de domaine pour pointer vers CloudFlare. Une fois cela fait, CloudFlare commencera à mettre en cache votre site Web et à le servir à partir de son CDN.
"Toujours en ligne" est une fonctionnalité qui maintient votre version en ligne de votre site Web en ligne même si votre serveur source échoue. Cela signifie que même s'il y a un problème avec votre fournisseur d'hébergement, les visiteurs peuvent toujours accéder à votre site Web.
Le cryptage SSL / TLS de CloudFlare protège la sécurité des données lorsque vous vous déplacez entre votre site Web et les visiteurs. Cela empêche les tiers d'intercepter et de lire les données, améliorant ainsi la sécurité du site Web.
ARGO SMART ROUTING est une fonctionnalité qui améliore les performances du site Web en achetant les visiteurs avec les chemins les moins congestionnés et les plus fiables utilisant le réseau privé de CloudFlare. Cela peut réduire la latence Internet et la perte de paquets, améliorant ainsi l'expérience utilisateur.
Toutes les images conservent leur format et leur emplacement d'origine.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!