Maison > Opération et maintenance > Nginx > le corps du texte

Comment configurer Nginx pour détourner le trafic en fonction du dernier segment IP de la requête

WBOY
Libérer: 2023-05-18 10:10:34
avant
1207 Les gens l'ont consulté

Principalement le saut de configuration du jugement if dans le paramètre d'emplacement. Le déchargement peut réduire la charge et la pression du serveur. Il s'agit d'une architecture de déploiement de serveur très courante.
Sauter en fonction de la plage du dernier segment IP

#域名,ip,端口等信息请自行修改

upstream huaji-01.com {
 server 192.168.1.100:8080;
}

upstream huaji-02.com {
 server 192.168.1.200:8080;
}

server {

 listen 80;
 server_name www.huaji.com;

 location /
 {
  if ( $remote_addr ~* ^(.*)\.(.*)\.(.*)\.[1,125]$) {
    proxy_pass http://huaji-01.com;
    break;
  }

  proxy_pass http://huaji-02.com;
 }

}
Copier après la connexion

Ce qui précède consiste à transmettre la source de la demande avec le dernier segment IP 1-125 à huaji-01.com, et d'autres demandes à huaji-02.com , vous pouvez également modifier les règles habituelles, telles que

Rule: $remote_addr ~* ^(.*).(.*).(.*).*[0268] $ La fin est un numéro IP pair comme 0268, passez à huaji-01.com, les autres passent au deuxième nom de domaine

Règle : $remote_addr ~* ^(112).(.*) .(.*).(.* )$ IP commençant par 112 sauts vers le nom de domaine spécifié

Règle : $http_x_forwarded_for ~* ^(112).(.*).(.*) .(.*)$ Selon le segment d'adresse transféré pour détourner le trafic, accédez au nom de domaine spécifié commençant par 112

if La signification du jugement de la condition de commande :

#🎜 🎜#Correspondance d'expressions régulières, où : #🎜 🎜#~ est une correspondance sensible à la casse

~* est une correspondance insensible à la casse

!~ et !~* sont respectivement sensibles à la casse. Incompatibilité d'écriture et incompatibilité de casse

correspondance de fichier et de répertoire, où :

-f et !- f sont utilisés pour déterminer si le fichier existe

-d et !-d sont utilisés pour déterminer si le répertoire existe

-e et !-e sont utilisés pour déterminer si le fichier ou le répertoire existe

# 🎜🎜#-x et !-x sont utilisés pour déterminer si le fichier est exécutable

Le dernier paramètre de la commande de réécriture est le flag tag La balise flag est :

#🎜🎜 #

last est équivalent à la marque [l] dans Apache, ce qui signifie réécrire. break Une fois la correspondance de cette règle terminée, la correspondance sera terminée et les règles suivantes ne seront plus mises en correspondance.

redirect renvoie la redirection temporaire 302 et l'adresse du navigateur affichera l'adresse URL après le saut.

permanent renvoie la redirection permanente 301 et l'adresse du navigateur affichera l'adresse URL après le saut.

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!

Étiquettes associées:
source:yisu.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal