


Configuration ACL basée sur la méthode de requête et l'en-tête de requête dans le proxy inverse Nginx
Nginx est un serveur Web léger et efficace qui est de plus en plus utilisé dans la création d'applications Web modernes. Sa fonction de proxy inverse permet à Nginx d'être utilisé pour l'équilibrage de charge, la mise en cache, la passerelle API open source et à d'autres fins. Cet article se concentrera sur la configuration de l'ACL (liste de contrôle d'accès) basée sur la méthode de requête et l'en-tête de la requête.
ACL est un mécanisme utilisé pour contrôler l'accès et est largement utilisé dans Nginx. Grâce à l'ACL, Nginx peut filtrer et vérifier les requêtes, puis les distribuer au serveur cible. Le mécanisme ACL se compose principalement de trois parties : les variables, les opérateurs et les valeurs.
Les variables sont des informations contenues dans la requête, telles que les en-têtes de requête, les méthodes de requête, les paramètres de requête, etc. Nginx peut vérifier les valeurs de ces variables pour déterminer s'il faut envoyer la requête au serveur. La valeur fait référence aux données auxquelles la variable est comparée. Les opérateurs précisent comment les variables et les valeurs sont comparées.
Nginx prend en charge la configuration ACL basée sur les méthodes de requête et les en-têtes de requête. Vous souhaiterez peut-être utiliser ces configurations dans les situations suivantes :
- Vous souhaitez filtrer les requêtes en fonction du type de méthode de requête, telle que GET, POST, DELETE, etc.
- Vous souhaitez filtrer les demandes en fonction des en-têtes de demande tels que l'autorisation, le type de contenu, etc. Cela peut être couramment utilisé dans les passerelles API pour vérifier l'autorisation du client et maintenir la sécurité nécessaire pour l'application.
Configuration ACL basée sur la méthode de requête
La configuration de l'ACL basée sur la méthode de requête est très simple. Vous devez utiliser la variable $request_method, définir un opérateur pour vérifier la valeur de cette variable, puis spécifier une liste de méthodes de requête autorisées. Voici un exemple :
location /api { if ($request_method !~ ^(GET|POST|PUT)$ ) { return 405; } proxy_pass http://localhost:8080; }
Cette configuration signifie que si la méthode de requête n'est pas GET, POST ou PUT, le statut HTTP 405 ("Méthode non autorisée") est renvoyé. Si des méthodes de requête autres que GET, POST ou PUT correspondent ici, Nginx ne les enverra pas au serveur proxy.
Configuration ACL basée sur les en-têtes de requête
La configuration ACL basée sur les en-têtes de requête est similaire à la configuration basée sur les méthodes de requête. Vous pouvez obtenir les informations d'en-tête dans la requête en utilisant la variable $http_ plus le nom de l'en-tête de la requête. Vous pouvez ensuite utiliser un opérateur pour vérifier la valeur de l'en-tête en utilisant une méthode similaire à l'approche basée sur les requêtes. Par exemple :
location /api { if ($http_authorization !~* "Bearer [a-zA-Z0-9]+" ) { return 401; } proxy_pass http://localhost:8080; }
Dans la configuration ci-dessus, si l'en-tête de requête Authorization ne contient pas la balise d'autorisation commençant par Bearer, le statut HTTP 401 ("Non autorisé") sera renvoyé. Par conséquent, Nginx n’enverra aucune requête au serveur proxy, à l’exception de l’en-tête d’autorisation correct.
Résumé
La fonctionnalité ACL de Nginx peut être utilisée pour effectuer de nombreuses logiques liées aux requêtes. La configuration ACL basée sur la méthode de demande et l'en-tête de demande est une méthode efficace pour implémenter le contrôle d'accès dans des scénarios spécifiques. De plus, vous pouvez le combiner avec d'autres fonctionnalités de Nginx, telles que la journalisation et la limitation de débit, pour améliorer la sécurité et les performances de votre application Web.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment confirmer si Nginx est démarré: 1. Utilisez la ligne de commande: SystemCTl Status Nginx (Linux / Unix), netStat -ano | Findstr 80 (Windows); 2. Vérifiez si le port 80 est ouvert; 3. Vérifiez le message de démarrage NGINX dans le journal système; 4. Utilisez des outils tiers, tels que Nagios, Zabbix et Icinga.

Le démarrage d'un serveur Nginx nécessite différentes étapes en fonction des différents systèmes d'exploitation: Système Linux / Unix: Installez le package NGINX (par exemple, en utilisant Apt-Get ou Yum). Utilisez SystemCTL pour démarrer un service NGINX (par exemple, sudo systemctl start nginx). Système Windows: téléchargez et installez les fichiers binaires Windows. Démarrer Nginx à l'aide de l'exécutable Nginx.exe (par exemple, nginx.exe -c conf \ nginx.conf). Peu importe le système d'exploitation que vous utilisez, vous pouvez accéder au serveur IP

Comment configurer un nom de domaine NGINX sur un serveur cloud: Créez un enregistrement A pointant vers l'adresse IP publique du serveur cloud. Ajoutez des blocs d'hôtes virtuels dans le fichier de configuration Nginx, en spécifiant le port d'écoute, le nom de domaine et le répertoire racine du site Web. Redémarrez Nginx pour appliquer les modifications. Accéder à la configuration du test de nom de domaine. Autres notes: Installez le certificat SSL pour activer HTTPS, assurez-vous que le pare-feu autorise le trafic Port 80 et attendez que la résolution DNS prenne effet.

Étapes pour démarrer Nginx dans Linux: Vérifiez si Nginx est installé. Utilisez SystemCTL Start Nginx pour démarrer le service NGINX. Utilisez SystemCTL Activer Nginx pour activer le démarrage automatique de Nginx au démarrage du système. Utilisez SystemCTL Status Nginx pour vérifier que le démarrage est réussi. Visitez http: // localhost dans un navigateur Web pour afficher la page de bienvenue par défaut.

Comment corriger l'erreur interdite Nginx 403? Vérifier les autorisations de fichier ou de répertoire; 2. Vérifier le fichier .htaccess; 3. Vérifiez le fichier de configuration NGINX; 4. Redémarrer Nginx. D'autres causes possibles incluent les règles de pare-feu, les paramètres de Selinux ou les problèmes d'application.

Dans Linux, utilisez la commande suivante pour vérifier si Nginx est démarré: SystemCTL Status Nginx Juges Basé sur la sortie de la commande: si "Active: Active (Running)" s'affiche, Nginx est démarré. Si "Active: Inactive (Dead)" est affiché, Nginx est arrêté.

Comment configurer Nginx dans Windows? Installez Nginx et créez une configuration d'hôte virtuelle. Modifiez le fichier de configuration principale et incluez la configuration de l'hôte virtuel. Démarrer ou recharger nginx. Testez la configuration et affichez le site Web. Activer sélectivement SSL et configurer les certificats SSL. Définissez sélectivement le pare-feu pour permettre le trafic Port 80 et 443.

Il existe deux façons de résoudre le problème du domaine transversal NGINX: modifiez les en-têtes de réponse transversale: ajoutez des directives pour autoriser les demandes de domaine croisé, spécifier des méthodes et des en-têtes autorisés et définir le temps du cache. Utilisez le module CORS: Activez les modules et configurez les règles CORS pour permettre des demandes, des méthodes, des en-têtes et du temps de cache.
