É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
高洛峰
高洛峰 2017-06-16 09:19:41
0
1
1874

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...

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

répondre à tous(1)
黄舟

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal