recherche

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

Équilibrage de charge - NGINX transmet TCP au serveur backend Comment le serveur backend obtient-il la véritable adresse IP de l'utilisateur ? Le serveur NGINX et le serveur backend ne sont pas dans le même segment de réseau

Récemment, il est nécessaire de transmettre les requêtes TCP au véritable serveur back-end via un serveur de transit, mais le problème rencontré maintenant est que le serveur back-end ne peut pas obtenir la véritable adresse IP de l'utilisateur.

Veuillez noter qu'il s'agit d'une connexion TCP, pas HTTP. C'est une fonction du module de flux de NGINX. J'ai vérifié beaucoup d'informations en ligne. Le document officiel de NGINX dit que cela peut être résolu, mais il ne donne pas de détails. conseils d'utilisation. J'espère que les amis qui l'ont déjà implémenté peuvent m'aider à répondre à cette question. De plus, si LVS est utilisé comme charge, le serveur back-end peut-il obtenir la véritable adresse IP du client si la machine n'est pas dans le même segment de réseau ? Si possible, veuillez créer un lien vers les articles pertinents.

Documentation de référence :
https://nginx.org/en/docs/str...
https://www.nginx.com/blog/tc...

高洛峰高洛峰2721 Il y a quelques jours1851

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

  • 黄舟

    黄舟2017-06-16 09:21:41

    LVS ne peut pas obtenir la véritable IP par défaut en mode nat ou fullnat.

    Le fullnat d'Alibaba peut transmettre la véritable adresse IP au backend via l'option TCP.

    Le module de flux de nginx peut transmettre la véritable adresse IP via le protocole proxy https://www.haproxy.org/downl...

    Les deux ont une chose en commun :

    Le backend doit modifier le code pour obtenir cette IP.

    répondre
    0
  • Annulerrépondre