Maison  >  Questions et réponses  >  le corps du texte

Serveur - nginx comment configurer l'équilibrage de charge

Il y a trois machines, ABC,
Toutes les demandes sont envoyées à A, puis A les transmet à BC, qui gère l'affaire
Supposons que le nom de domaine est bla.combla.com
在机器A上,http 模块内写以下配置,访问bla.comSur la machine A, écrivez la configuration suivante dans le module http, visitez bla.com et visitez la page A default

upstream bla.com {
        ip_hash;
        server 192.168.100.2;
        server 192.168.100.3;
}

Comment puis-je faire cliquer ip_hash sur toutes les demandes et les transmettre à B et C

怪我咯怪我咯2691 Il y a quelques jours419

répondre à tous(2)je répondrai

  • phpcn_u1582

    phpcn_u15822017-05-16 17:16:02

    L'architecture d'équilibrage de charge https est celle indiquée sur la figure, qui n'est pas très différente de http

    upstream mywebapp1 {
        server 10.130.227.11;
        server 10.130.227.22;
    }
    server {
        listen 80;
        listen 443 ssl;
        server_name example.com www.example.com;
    
        ssl on;
        ssl_certificate         /etc/nginx/ssl/example.com/server.crt;
        ssl_certificate_key     /etc/nginx/ssl/example.com/server.key;
        ssl_trusted_certificate /etc/nginx/ssl/example.com/ca-certs.pem;
    
        location / {
            proxy_pass http://mywebapp1;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }

    répondre
    0
  • ringa_lee

    ringa_lee2017-05-16 17:16:02

    Vous voulez dire, vous ne voulez pas que le serveur A supporte le trafic ?

    1. Lorsque le serveur A transmet au backend, définissez un en-tête spécial

    add_header HELLO Y;
    1. Lorsque B et C trouvent l'en-tête HELLO, ils renvoient immédiatement 302, permettant à l'utilisateur d'initier directement une connexion vers B et C

    if ($http_HELLO = 'Y'){
        rewrite ^ http://$server_addr:$server_port$request_uri? redirect;
    }

    répondre
    0
  • Annulerrépondre