Maison  >  Article  >  Opération et maintenance  >  Comment configurer Nginx pour détourner le trafic en fonction du dernier segment IP de la requête

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

WBOY
WBOYavant
2023-05-18 10:10:341157parcourir

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;
 }

}

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer