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

Comment implémenter la distribution frontale nginx basée sur $remote_addr

王林
Libérer: 2023-05-12 22:01:12
avant
1472 Les gens l'ont consulté

Les exigences sont les suivantes :

Il existe plusieurs serveurs sous le nom de domaine. Nous le testons maintenant pour une certaine région. Laissez les utilisateurs IP d'une certaine région accéder uniquement à un certain serveur. ce n'est pas un problème, mettez-les tous à jour ; s'il y a un problème, l'impact sera moindre et le problème sera découvert et résolu à temps

Solution :

Utilisez le module nginx pour configurer les règles de correspondance sur le devant ; -fin de la machine de transfert d'équilibrage de charge ;

configuration nginx vhost, le segment d'emplacement sous le nom de domaine, ajoutez un morceau de code

Si $remote_addr correspond à l'adresse IP, transférez-le à abc_test_server ;

server {
  listen    80;
  server_name abc.com.cn;
  access_log /dev/null;
  error_log /data/logs/error.log;
  
  location / {

  proxy_set_header  host       $host;
  proxy_set_header  x-real-ip    $remote_addr;
  proxy_set_header  x-forwarded-for $proxy_add_x_forwarded_for;
      if ($remote_addr ~ "202.96.134.100") 
       {
           proxy_pass http://abc_test_server;
            break;
        }
  proxy_pass http://abc_server;
  }
}
Copier après la connexion

La configuration d'équilibrage de charge doit également ajoutez un morceau de code

#abc_test only
upstream abc_test_server {
  server  192.168.20.10:80;
  
}

#abc.com.cn
upstream abc_server {
  server  192.168.20.11:80;
  server  192.168.20.12:80;
  server  192.168.20.13:80;
}
Copier après la connexion

L'IP définie sera directement distribuée au serveur back-end 192.168.20.10 pour test.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!