Comment configurer un proxy inverse pour WordPress
Publié: 2023-01-16En tant qu'administrateur WordPress, vous pourriez vous retrouver dans une situation où vous devez configurer un serveur proxy inverse. Heureusement, la configuration d'un serveur proxy inverse est relativement simple et il existe plusieurs progiciels différents que vous pouvez utiliser. Cet article fournit un bref aperçu de la configuration d'un serveur proxy inverse pour votre site WordPress à l'aide de NGINX.
Que sont les serveurs proxy inverses et pourquoi les utiliser pour WordPress
Un serveur proxy inverse récupère les ressources d'un ou plusieurs serveurs pour le compte d'un client. Ces ressources sont ensuite livrées au client sans qu'il soit possible de savoir qu'elles proviennent du serveur proxy.
Les proxys inverses sont utiles car ils peuvent masquer l'existence et les caractéristiques du serveur d'origine. Par exemple, un proxy inverse peut fournir une couche supplémentaire de sécurité, de performances et de fiabilité pour les applications Web en les protégeant des requêtes malveillantes ou des volumes importants de trafic.
Si vous êtes curieux d'en savoir plus, il existe de nombreuses ressources en ligne pour vous aider à en savoir plus sur les serveurs proxy inverses. Il existe plusieurs raisons courantes pour lesquelles la configuration d'un serveur proxy inverse peut être nécessaire :
- Amélioration des performances du site grâce à la mise en cache du contenu
Un cas d'utilisation courant pour un proxy inverse consiste à mettre en cache le contenu WordPress fréquemment demandé. Par exemple, si un groupe de serveurs Web dessert un site Web, un proxy inverse peut mettre en cache le contenu statique du site Web (tel que les pages HTML, les images et les fichiers CSS) sur un seul serveur. Cela peut améliorer les performances du site Web WordPress, car le contenu n'a pas besoin d'être récupéré à partir des serveurs Web chaque fois qu'un utilisateur demande une page.
- Déchargement des tâches gourmandes en CPU telles que le redimensionnement d'image
Un serveur proxy inverse peut décharger les tâches gourmandes en CPU telles que le redimensionnement des images du serveur WordPress en transmettant les demandes de ces tâches à un serveur mieux équipé pour les gérer. Cela peut aider à améliorer les performances du site WordPress en libérant des ressources sur le serveur WordPress pour d'autres tâches.
- Amélioration de la sécurité en filtrant les requêtes et en bloquant le trafic malveillant
Un serveur proxy inverse peut améliorer la sécurité de WordPress en filtrant les requêtes et en bloquant le trafic malveillant. En filtrant les requêtes, le serveur proxy inverse peut bloquer l'accès à des adresses IP ou des régions spécifiques connues pour être associées à des activités malveillantes. En bloquant le trafic malveillant, le serveur proxy inverse peut aider à atténuer les effets des attaques DDoS et d'autres attaques qui ciblent les sites WordPress.
- Rendre WordPress accessible depuis un autre domaine ou sous-domaine
Comme mentionné ci-dessus, le serveur proxy inverse récupère les ressources d'un ou plusieurs serveurs pour le compte d'un client. Ces ressources peuvent être n'importe quel type de fichier, mais il s'agit le plus souvent de pages Web. Le serveur proxy inverse fournit alors au client ces ressources et elles apparaissent comme si elles provenaient du serveur lui-même. Cela se fait en configurant le serveur proxy inverse pour transmettre les demandes de contenu WordPress au serveur WordPress tout en donnant au client l'illusion qu'il accède au contenu directement à partir du serveur proxy local.
Serveurs proxy inverses les plus populaires
Selon W3Techs, environ 83% des sites Web n'utilisent pas de service de proxy inverse. Les 17 % restants sont principalement des CDN, car les proxys inverses dissimulent généralement leur présence à des fins de sécurité, ce qui rend difficile pour les services de surveillance de sites Web tels que W3Techs de déterminer lesquels sont les plus largement utilisés. Voici les trois solutions de proxy inverse les plus couramment utilisées :
- NGINX
NGINX est un serveur Web qui offre de multiples avantages, tels que des performances, une sécurité, une fiabilité et une évolutivité améliorées. Vous pouvez l'obtenir gratuitement ou utiliser l'édition commerciale, NGINX Plus, pour les sites Web d'entreprise avec des possibilités de configuration basées sur l'API. De nombreuses grandes entreprises utilisent NGINX – Cloudflare, Netflix, MaxCDN, entre autres. La configuration de NGINX en tant que proxy inverse est simple et vous pouvez le personnaliser pour répondre à vos besoins.
- Vernis
Varnish est un type de logiciel open source qui peut améliorer les performances des sites Web à fort trafic. Il fonctionne comme un proxy inverse, un équilibreur de charge, un pare-feu d'application Web et un serveur d'authentification Edge, et il prend en charge Edge Side Include (ESI) pour un chargement plus rapide des pages. Vous pouvez l'utiliser comme interface pour les serveurs Web NGINX ou Apache, ou le configurer comme proxy inverse pour WordPress.
- Serveur de trafic Apache
Apache Traffic Server, une option open-source réputée pour ses performances et sa capacité, a d'abord été développée par Yahoo! en tant que service commercial avant de le céder à la Fondation Apache. Il est actuellement utilisé par de nombreux réseaux de contenu et CDN, notamment Akami, Apple, Comcast, LinkedIn et Yahoo pour améliorer leurs systèmes. De plus, Apache HTTP Server (Apache httpd) peut être utilisé pour configurer un proxy inverse sur votre serveur Web qui lui permet de fournir à la fois du contenu statique et dynamique aux utilisateurs tout en continuant à fonctionner comme un serveur Web normal.
- HAproxy
HAProxy est un proxy inverse et un équilibreur de charge gratuits et open source conçus pour fonctionner avec de nombreuses architectures de serveurs Web existantes, telles que les systèmes Linux et les plates-formes basées sur le cloud. Il utilise un modèle d'E/S piloté par les événements et peut répartir les demandes sur plusieurs processus de travail, comme NGINX. HAProxy est réputé pour sa capacité à gérer de gros volumes de trafic même pendant les pics de charge. Il est utilisé par certains des plus grands sites au monde, tels que Airbnb, Reddit et Instagram.
Cas d'utilisation du serveur proxy inverse pour les sites WordPress
Bien que vous puissiez également utiliser d'autres proxys inverses, NGINX est le choix le plus populaire. Voici les trois principaux cas d'utilisation pour mettre en place un reverse proxy pour les sites WordPress :
- Site Web principal et proxy sur un seul serveur
Si le site principal et le site proxy sont hébergés sur le même serveur Web, vous pouvez configurer un proxy inverse afin que le site proxy se charge à partir du site principal. Vous pouvez le faire en configurant toutes les règles de proxy inverse pertinentes sur le site principal et en configurant le site proxy pour qu'il se charge via le proxy. De plus, si vous utilisez un certificat SSL, des règles spécifiques doivent être en place dans le wp-config.php pour éviter les boucles de redirection. Notez qu'il est impossible de créer une URL avec le même sous-répertoire que celui utilisé pour charger le site.
- Héberger uniquement le site proxy sur votre serveur
Pour créer un proxy inverse, vous devez contacter l'administrateur du serveur du site Web principal et configurer les règles sur deux serveurs. Un nom de domaine qui pointe vers le proxy inverse doit également être ajouté. Cela se fait généralement via un sous-domaine (par exemple blog.votre_domaine.com) qui est lié au site proxy (par exemple votre_domaine.com/blog). Notez que vous aurez besoin de l'adresse IP du serveur pour terminer le processus de configuration.
- Site principal hébergé sur votre serveur
Si vous ne pouvez accéder qu'au site Web principal et à son serveur d'hébergement, vous devez configurer un proxy inverse et ajuster ses paramètres afin que la page soit extraite d'un hôte externe. Il sera de la responsabilité de l'administrateur du serveur secondaire d'installer et de configurer le site proxy auquel accéder via le proxy inverse.
Étapes pour configurer un proxy inverse pour WordPress
La configuration d'un proxy inverse pour WordPress est un excellent moyen d'améliorer les performances de votre site Web. Cela peut également aider à protéger votre serveur Web contre les requêtes malveillantes et à améliorer l'expérience utilisateur. Vous trouverez ci-dessous les étapes à suivre pour configurer un proxy inverse pour WordPress.
- Installer un serveur proxy inverse
La première étape consiste à installer un serveur proxy inverse. Nous vous recommandons d'utiliser le serveur Web NGINX, qui est gratuit et open source. D'autres serveurs Web populaires, tels qu'Apache, peuvent également être utilisés, mais nous supposerons que vous utilisez NGINX pour ce didacticiel. Supposons que vous souhaitiez utiliser un proxy inverse NGINX (192.xx10) avec un serveur Web Apache (192.xx20) déjà opérationnel.
L'installation de NGINX sur un serveur Ubuntu consiste à exécuter une seule commande :
sudo apt-obtenir la mise à jour
sudo apt-get install nginx
Une fois NGINX installé, utilisez cette commande pour désactiver l'hôte virtuel :
sudo unlink /etc/nginx/sites-enabled/default
Il est maintenant temps de créer un proxy inverse. Vous pouvez le faire en créant un fichier appelé reverse-proxy.conf dans le répertoire etc/nginx/sites-available. Tout d'abord, accédez au répertoire :
cd etc/nginx/sites-disponible
Créez le fichier via l'éditeur vi :
vi reverse-proxy.conf
Ajoutez les lignes suivantes au fichier :
serveur {
écouter 80 ;
emplacement / {
proxy_pass http://192.xx20 ;
}
}
Comme nous pouvons le voir, la passe proxy permet aux requêtes provenant du proxy inverse d'être transmises à 192.xx20:80, le socket distant du serveur principal. En d'autres termes, les deux serveurs partagent le contenu. Une fois que vous avez terminé, enregistrez le fichier et quittez l'éditeur. Pour transmettre des informations à d'autres serveurs, utilisez le module ngx_http_proxy_module dans le terminal. Enfin, vous devez activer les directives en vous connectant à /sites-enabled/ avec cette commande :
sudo ln -s /etc/nginx/sites-available/reverse-proxy.conf /etc/nginx/sites-enabled/reverse-proxy.conf
Il ne reste plus qu'à tester le proxy inverse. Vous devez exécuter un test de configuration et redémarrer NGINX pour vérifier ses performances. Utilisez la commande ci-dessous pour vérifier si NGINX fonctionne :
test de configuration du service nginx
redémarrage du service nginx
Si le test échoue, cela signifie qu'Apache n'est probablement pas configuré correctement.
Limitations du serveur proxy inverse
Un proxy inverse peut présenter un risque de sécurité majeur car il peut observer et modifier tout le trafic qui le traverse. Si le trafic HTTPS est envoyé via le proxy inverse, les données doivent être déchiffrées et rechiffrées, ce qui nécessite les clés privées du certificat SSL/TLS. Si un pirate accède à ce proxy inverse, il peut enregistrer des mots de passe et insérer du code malveillant dans des sites Web.
Un proxy inverse peut créer un point de défaillance unique si ni vous ni vos utilisateurs ne pouvez accéder directement au serveur principal. Par exemple, si un proxy inverse dessert plusieurs domaines, toute interruption rendra tous ces sites inaccessibles. Si un proxy inverse tiers est utilisé, n'oubliez pas que vous partagez avec eux des détails importants sur le site.
Conclusion
La configuration d'un proxy inverse pour WordPress peut améliorer la sécurité et les performances du site Web. Les étapes de configuration d'un proxy inverse pour WordPress varient en fonction du serveur et de la configuration. Généralement, ils incluent la configuration du serveur proxy, la configuration du serveur Web principal et la configuration du site WordPress. Bien que la configuration d'un serveur proxy inverse puisse être bénéfique, elle présente des limites.