Lastausgleich – NGINX leitet TCP an den Backend-Server weiter. Wie erhält der Backend-Server die tatsächliche IP-Adresse des Benutzers? Der NGINX-Server und der Backend-Server befinden sich nicht im selben Netzwerksegment
高洛峰
高洛峰 2017-06-16 09:19:41
0
1
1842

In letzter Zeit besteht die Anforderung, TCP-Anfragen über einen Transitserver an den echten Back-End-Server weiterzuleiten, aber das Problem besteht jetzt darin, dass der Back-End-Server die echte IP des Benutzers nicht erhalten kann.

Bitte beachten Sie, dass es sich um eine TCP-Verbindung handelt, nicht um eine HTTP-Verbindung. Ich habe viele Informationen online überprüft, es gibt jedoch keine detaillierten Informationen Ich hoffe, Freunde, die es bereits implementiert haben. Können Sie mir bei der Beantwortung dieser Frage helfen? Wenn LVS als Last verwendet wird, kann der Back-End-Server die tatsächliche IP-Adresse des Clients erhalten? gleiches Netzwerksegment? Wenn möglich, verlinken Sie bitte auf relevante Artikel.

Referenzdokumentation:

https://nginx.org/en/docs/str...
https://www.nginx.com/blog/tc...

高洛峰
高洛峰

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

Antworte allen(1)
黄舟

LVS在nat或者fullnat模式下,默认都是不能获取到真实IP的。

阿里的fullnat可以通过TCP Option传递真实IP给后端。

nginx的stream模块可以通过 proxy protocol https://www.haproxy.org/downl... 来传递真实IP。

两者都有一个共同点:

后端需要修改代码才能获取到这个IP。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage