Maison Opération et maintenance Nginx Nginx proxy_pass analyse d'un exemple de configuration de proxy inverse

Nginx proxy_pass analyse d'un exemple de configuration de proxy inverse

May 13, 2023 pm 11:19 PM
nginx proxy_pass

Ce qui suit est un petit exemple :

Il n'y a pas de package RPM nginx dans la bibliothèque système centos7 par défaut, nous devons donc d'abord mettre à jour la bibliothèque de dépendances RPM

1) Utiliser yum pour installer nginx nécessite d'inclure le nginx bibliothèque, installez la bibliothèque nginx

[root@localhost ~]# rpm -uvh http://nginx.org/packages/centos/7/noarch/rpms/nginx-release-centos-7-0.el7.ngx.noarch.rpm

2) Utilisez la commande suivante pour installer nginx

[root@localhost ~]# yum install nginx

3) Configuration nginx

[root@localhost ~]# cd /etc/nginx/conf.d/
[root@localhost conf.d]# cat test.conf
server {
listen 80;
server_name localhost;
location / {
root /var/www/html;
index index.html;
}
}
 
[root@localhost conf.d]# cat /var/www/html/index.html
this is page of test!!!!

4) Démarrez nginx

[root@localhost ~]# service nginx start //或者使用 systemctl start nginx.service

5) Test d'accès (103.110.186.23 est le 192.1 68 .1.23 IP du réseau externe de la machine)

[root@localhost conf.d]# curl http://192.168.1.23
this is page of test!!!!

Regardez les situations suivantes : utilisez http://192.168.1.23/proxy/index.html pour effectuer des tests d'accès

Pour faciliter les tests, utilisez d'abord une autre machine 192.168 .1.5 Déployez un nginx sur le port 8090, la configuration est la suivante :

[root@bastion-idc ~]# cat /usr/local/nginx/conf/vhosts/haha.conf
server {
listen 8090;
server_name localhost;
location / {
root /var/www/html;
index index.html;
}
}
[root@bastion-idc ~]# cat /var/www/html/index.html
this is 192.168.1.5
[root@bastion-idc ~]# /usr/local/nginx/sbin/nginx -s reload

Test d'accès (103.110.186.5 est l'IP du réseau externe de 192.168.1.5) : sert de nginx reverse proxy machine, nginx La configuration est la suivante :

nginx proxy_pass反向代理配置实例分析1) Le premier cas :

[root@bastion-idc ~]# curl http://192.168.1.5:8090
this is 192.168.1.5

De cette façon, l'accès à http://192.168.1.23/proxy/ sera proxy vers http://192.168 .1.5:8090/. Le répertoire proxy correspondant à p n'a pas besoin d'exister dans le répertoire racine /var/www/html

Notez que si vous accédez à http://192.168.1.23/proxy dans le terminal (c'est-à-dire sans "/" après ), l'accès échouera ! Parce que "/" est ajouté après l'url configurée par proxy_pass

[root@localhost conf.d]# cat test.conf
server {
listen 80;
server_name localhost;
location / {
root /var/www/html;
index index.html;
}
 
location /proxy/ {
 proxy_pass http://192.168.1.5:8090/;
}
}

Lorsque la page accède à http://103.110.186.23/proxy, "/" sera automatiquement ajouté (la même raison est que "/" est ajouté après l'url configuré par proxy_pass ), et inverser le résultat de http://103.110.186.5:8090


2) Dans le deuxième cas, si "/" n'est pas ajouté après l'url configuré par proxy_pass

[root@localhost conf.d]# curl http://192.168.1.23/proxy/
this is 192.168.1.5
[root@localhost conf.d]# curl http://192.168.1.23/proxy
<html>
<head><title>301 moved permanently</title></head>
<body bgcolor="white">
<center><h1>301 moved permanently</h1></center>
<hr><center>nginx/1.10.3</center>
</body>
</html>

alors visitez http://192.168.1.23/proxy ou http://192.168.1.23/proxy/ échouera !

Après cette configuration, l'accès à http://192.168.1.23/proxy/ sera inversé par proxy vers http://192.168.1.5:8090/proxy/nginx proxy_pass反向代理配置实例分析


3) La troisième situation

[root@localhost conf.d]# cat test.conf
server {
listen 80;
server_name localhost;
location / {
root /var/www/html;
index index.html;
}
 
location /proxy/ {
 proxy_pass http://192.168.1.5:8090;
}
}
[root@localhost conf.d]# service nginx restart
redirecting to /bin/systemctl restart nginx.service

Si configuré comme ceci, visitez http://103.110.186.23/proxy pour proxy vers http://192.168.1.5:8090/haha/

nginx proxy_pass反向代理配置实例分析

4) La quatrième situation : relative à l'URL de la troisième configuration Sans ajouter "/"

[root@localhost conf.d]# cat test.conf
server {
listen 80;
server_name localhost;
location / {
root /var/www/html;
index index.html;
}
 
location /proxy/ {
 proxy_pass http://192.168.1.5:8090/haha/;
}
}
[root@localhost conf.d]# service nginx restart
redirecting to /bin/systemctl restart nginx.service
[root@localhost conf.d]# curl http://192.168.1.23/proxy/
192.168.1.5 haha-index.html

Après la configuration ci-dessus, l'accès à http://192.168.1.23/proxy/index.html sera un proxy vers http://192.168.1.5:8090/hahaindex.html

De même, l'accès à http : //192.168.1.23/proxy/test.html sera proxy vers http://192.168.1.5:8090/hahatest.html

[root@localhost conf.d]# cat test.conf
server {
listen 80;
server_name localhost;
location / {
root /var/www/html;
index index.html;
}
 
location /proxy/ {
 proxy_pass http://192.168.1.5:8090/haha;
}
}
[root@localhost conf.d]# service nginx restart
redirecting to /bin/systemctl restart nginx.service
[root@localhost conf.d]# curl http://192.168.1.23/proxy/index.html
192.168.1.5 hahaindex.html
nginx proxy_pass反向代理配置实例分析Notez que dans ce cas, http://192.168 n'est pas accessible directement 1.23/. proxy/, même le fichier index.html par défaut doit suivre, sinon l'accès échouera !



-------------------------------------------- ------ ---------------------------------------------

Les quatre ci-dessus les méthodes correspondent toutes Ajoutez "/" après le chemin. Parlons de la situation sans "/" après le chemin :

1) Dans le premier cas, l'url après proxy_pass a "/" :

[root@localhost conf.d]# curl http://192.168.1.23/proxy/index.html
192.168.1.5 hahaindex.html
nginx proxy_pass反向代理配置实例分析


2 ) Dans le deuxième cas, si l'url après proxy_pass ne contient pas "/"

[root@localhost conf.d]# cat test.conf
server {
listen 80;
server_name localhost;
location / {
root /var/www/html;
index index.html;
}
 
location /proxy {
 proxy_pass http://192.168.1.5:8090/;
}
}
[root@localhost conf.d]# service nginx restart
redirecting to /bin/systemctl restart nginx.service
nginx proxy_pass反向代理配置实例分析, si configuré comme ceci, accéder à http://103.110.186.23/proxy ajoutera automatiquement "/" (c'est-à-dire il deviendra http://103.110.186.23/ proxy/), proxy vers 192.168.1.5:8090/proxy/

nginx proxy_pass反向代理配置实例分析

3) Le troisième cas

[root@localhost conf.d]# cat test.conf
server {
listen 80;
server_name localhost;
location / {
root /var/www/html;
index index.html;
}
 
location /proxy {
 proxy_pass http://192.168.1.5:8090;
}
}
[root@localhost conf.d]# service nginx restart
redirecting to /bin/systemctl restart nginx.service
[root@localhost conf.d]#

Si configuré de cette manière, accéder à http://103.110 .186.23/proxy ajoutera automatiquement "/" (c'est-à-dire qu'il devient http://103.110.186.23/proxy/), proxy vers http://192.168.1.5:8090/haha/

nginx proxy_pass反向代理配置实例分析

4) Le quatrième situation : Par rapport à la troisième configuration, l'URL n'est pas Ajouter "/"

[root@localhost conf.d]# cat test.conf
server {
listen 80;
server_name localhost;
location / {
root /var/www/html;
index index.html;
}
 
location /proxy {
 proxy_pass http://192.168.1.5:8090/haha/;
}
}
[root@localhost conf.d]# service nginx restart
redirecting to /bin/systemctl restart nginx.service

Si configurée comme ceci, accédez à http://103.110.186.23/proxy Comme le troisième résultat, elle sera également proxy vers. http://192.168.1.5:8090/haha/nginx proxy_pass反向代理配置实例分析

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Sujets chauds

Tutoriel PHP
1535
276
Comment exécuter le code PHP après avoir écrit du code PHP? Plusieurs façons courantes d'exécuter le code PHP Comment exécuter le code PHP après avoir écrit du code PHP? Plusieurs façons courantes d'exécuter le code PHP May 23, 2025 pm 08:33 PM

Le code PHP peut être exécuté de plusieurs manières: 1. Utilisez la ligne de commande pour entrer directement le "nom de fichier PHP" pour exécuter le script; 2. Mettez le fichier dans le répertoire racine du document et accédez-y via le navigateur via le serveur Web; 3. Exécutez-le dans l'IDE et utilisez l'outil de débogage intégré; 4. Utilisez le bac à sable PHP en ligne ou la plate-forme d'exécution de code pour les tests.

Après avoir installé Nginx, le chemin du fichier de configuration et les paramètres initiaux Après avoir installé Nginx, le chemin du fichier de configuration et les paramètres initiaux May 16, 2025 pm 10:54 PM

La compréhension du chemin du fichier de configuration de Nginx et des paramètres initiaux est très importante car il s'agit de la première étape dans l'optimisation et la gestion d'un serveur Web. 1) Le chemin du fichier de configuration est généralement /etc/nginx/nginx.conf. La syntaxe peut être trouvée et testée à l'aide de la commande nginx-t. 2) Les paramètres initiaux incluent les paramètres globaux (tels que l'utilisateur, worker_processs) et les paramètres HTTP (tels que l'inclusion, log_format). Ces paramètres permettent la personnalisation et l'extension en fonction des exigences. Une configuration incorrecte peut entraîner des problèmes de performances et des vulnérabilités de sécurité.

Comment limiter les ressources des utilisateurs dans Linux? Comment configurer Ulimit? Comment limiter les ressources des utilisateurs dans Linux? Comment configurer Ulimit? May 29, 2025 pm 11:09 PM

Linux System restreint les ressources utilisateur via la commande UliMIT pour éviter une utilisation excessive des ressources. 1.Ulimit est une commande shell intégrée qui peut limiter le nombre de descripteurs de fichiers (-n), la taille de la mémoire (-v), le nombre de threads (-u), etc., qui sont divisés en limite douce (valeur effective actuelle) et limite dure (limite supérieure maximale). 2. Utilisez directement la commande ulimit pour une modification temporaire, telle que Ulimit-N2048, mais elle n'est valable que pour la session en cours. 3. Pour un effet permanent, vous devez modifier /etc/security/limits.conf et les fichiers de configuration PAM, et ajouter SessionRequiredPam_limits.so. 4. Le service SystemD doit définir Lim dans le fichier unitaire

Quelles sont les compétences de configuration Debian Nginx? Quelles sont les compétences de configuration Debian Nginx? May 29, 2025 pm 11:06 PM

Lors de la configuration de Nginx sur Debian System, les éléments suivants sont quelques conseils pratiques: la structure de base des paramètres globaux du fichier de configuration: définir les paramètres comportementaux qui affectent l'intégralité du service NGINX, tel que le nombre de threads de travail et les autorisations d'utilisateurs en cours d'exécution. Pièce de gestion des événements: Décider comment Nginx s'occupe des connexions réseau est une configuration clé pour améliorer les performances. Pièce de service HTTP: contient un grand nombre de paramètres liés au service HTTP et peut intégrer plusieurs serveurs et blocs de localisation. Options de configuration de base Worker_Connections: Définissez le nombre maximal de connexions que chaque thread de travailleur peut gérer, généralement définie sur 1024. Multi_accept: activez le mode de réception multi-connexion et améliorez la capacité de traitement simultané. s

Étapes spécifiques pour configurer l'auto-démarrage du service Nginx Étapes spécifiques pour configurer l'auto-démarrage du service Nginx May 16, 2025 pm 10:39 PM

Les étapes de démarrage de la configuration NGINX sont les suivantes: 1. Créez un fichier de service Systemd: Sutonano / etc / Systemd / System / nginx.service et ajouter des configurations pertinentes. 2. Recharger la configuration SystemD: SudosystemctlDaemon-RELOAD. 3. Activer Nginx pour démarrer automatiquement: SudosystemctLenablenginx. Grâce à ces étapes, Nginx s'exécutera automatiquement au démarrage du système, garantissant la fiabilité et l'expérience utilisateur du site Web ou de l'application.

Configurer un environnement de développement conterenirisé Phpstorm et Docker Configurer un environnement de développement conterenirisé Phpstorm et Docker May 20, 2025 pm 07:54 PM

Grâce à la technologie Docker Containerisation, les développeurs PHP peuvent utiliser PHPStorm pour améliorer l'efficacité du développement et la cohérence environnementale. Les étapes spécifiques incluent: 1. Créez un dockerfile pour définir l'environnement PHP; 2. Configurez la connexion Docker dans PHPSTorm; 3. Créez un fichier dockercompose pour définir le service; 4. Configurez l'interprète PHP distant. Les avantages sont une forte cohérence environnementale, et les inconvénients incluent le long temps de démarrage et le débogage complexe.

Quelles sont les techniques d'optimisation SEO pour Debian Apache2? Quelles sont les techniques d'optimisation SEO pour Debian Apache2? May 28, 2025 pm 05:03 PM

Les compétences d'optimisation du référencement de Debianapache2 couvrent plusieurs niveaux. Voici quelques méthodes clés: Recherche de mots clés: Utilisez des outils (tels que les outils de magie de mots clés) pour exploiter les mots clés du noyau et de la page. Création de contenu de haute qualité: produire un contenu précieux et original, et le contenu doit être effectué des recherches approfondies pour assurer un langage et un format clair. Disposition du contenu et optimisation de la structure: utilisez des titres et des sous-titres pour guider la lecture. Écrivez des paragraphes et des phrases concises et claires. Utilisez la liste pour afficher les informations clés. Combiner multimédia tels que des images et des vidéos pour améliorer l'expression. La conception vierge améliore la lisibilité du texte. Niveau technique Amélioration du référencement: Robots.txt Fichier: Spécifie les droits d'accès des robots des moteurs de recherche. Accélérer le chargement de la page Web: optimisé à l'aide du mécanisme de mise en cache et de la configuration Apache

Comment implémenter le déploiement automatisé de Docker sur Debian Comment implémenter le déploiement automatisé de Docker sur Debian May 28, 2025 pm 04:33 PM

La mise en œuvre du déploiement automatisé de Docker sur le système Debian peut être effectuée de diverses manières. Voici le guide détaillé des étapes: 1. Installez d'abord Docker, assurez-vous

See all articles