Maison > Article > Opération et maintenance > Comment implémenter la configuration du proxy inverse Nginx
Comment implémenter la configuration du proxy inverse Nginx nécessite des exemples de code spécifiques
Nginx est un serveur Web open source hautes performances et un serveur proxy inverse. Dans les applications pratiques, nous utilisons souvent Nginx comme proxy inverse pour implémenter l'équilibrage de charge, la mise en cache, le proxy de terminal SSL et d'autres fonctions. Cet article explique comment configurer le proxy inverse de Nginx et donne des exemples de code spécifiques.
Tout d'abord, nous devons installer Nginx. Il peut être installé via un gestionnaire de paquets (tel que apt-get, yum), ou vous pouvez télécharger le code source depuis le site officiel, le compiler et l'installer. En prenant Ubuntu comme exemple, installez Nginx via apt-get :
sudo apt-get update sudo apt-get install nginx
Dans le fichier de configuration de Nginx, nous devons configurer le proxy inverse. Le fichier de configuration Nginx se trouve généralement dans /etc/nginx/nginx.conf ou /etc/nginx/conf.d/default.conf. Avant de modifier le fichier de configuration, il est recommandé de sauvegarder la configuration originale.
Ouvrez le fichier de configuration, recherchez le nœud http et ajoutez la configuration suivante sous le nœud :
server { listen 80; server_name example.com; location / { proxy_pass http://backend_server; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
Dans la configuration ci-dessus, Listen spécifie le port sur lequel Nginx écoute (par exemple, 80) et server_name spécifie le nom de domaine de le proxy inverse (par exemple, exemple. com). Dans le nœud d'emplacement, nous définissons l'adresse du proxy inverse (tel que http://backend_server) et utilisons la directive proxy_set_header pour transmettre certaines informations d'en-tête de requête HTTP.
Dans le fichier de configuration, nous utilisons http://backend_server comme adresse de proxy inverse. Ici, vous devez remplacer backend_server par l'adresse réelle du serveur backend.
Il existe de nombreuses façons de spécifier l'adresse du serveur backend. Voici deux méthodes courantes :
A. Utiliser l'adresse IP et le port
proxy_pass http://192.168.1.100:8000;
B. Utiliser le nom de domaine et le port
proxy_pass http://backend.example.com:8000;
Après avoir terminé la configuration, enregistrez le fichier de configuration et redémarrez Nginx pour effectuer le la configuration prend effet :
sudo service nginx restart
Maintenant, nous pouvons vérifier que le proxy inverse fonctionne en accédant au port sur lequel Nginx écoute (par exemple 80). Accédez à http://example.com via un navigateur ou une commande curl, et vous devriez pouvoir obtenir le contenu renvoyé par le serveur backend.
En plus de la configuration de base du proxy inverse, Nginx fournit également de nombreuses options de configuration avancées pour optimiser davantage les performances et les fonctionnalités du proxy inverse. Voici quelques exemples de configuration avancée couramment utilisés :
A. Équilibrage de charge
upstream backend_servers { server backend1.example.com; server backend2.example.com; server backend3.example.com; } server { listen 80; server_name example.com; location / { proxy_pass http://backend_servers; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
B Mise en cache
http { ... proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m; server { listen 80; server_name example.com; location / { proxy_pass http://backend_server; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_cache my_cache; proxy_cache_valid 200 302 60m; proxy_cache_valid 404 1m; } } ... }
C. Proxy de terminal SSL
server { listen 443 ssl; server_name example.com; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem; location / { proxy_pass http://backend_server; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
Les exemples ci-dessus ne sont que des utilisations de base et des scénarios courants de configuration du proxy inverse Nginx. ne sont pas exhaustifs. Pour les scénarios d'application complexes, nous pouvons avoir une compréhension approfondie des éléments et modules de configuration Nginx selon les besoins, et utiliser de manière flexible ses fonctions puissantes pour mettre en œuvre les stratégies de proxy et d'optimisation requises.
Résumé
Cet article présente comment implémenter la configuration du proxy inverse Nginx et donne des exemples de code spécifiques. Grâce au proxy inverse de Nginx, nous pouvons implémenter l'équilibrage de charge, la mise en cache, le proxy de terminal SSL et d'autres fonctions pour améliorer les performances et la fiabilité des applications Web. J'espère que cet article sera utile aux lecteurs qui découvrent Nginx.
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!