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...
LVS在nat或者fullnat模式下,默认都是不能获取到真实IP的。
阿里的fullnat可以通过TCP Option传递真实IP给后端。
nginx的stream模块可以通过 proxy protocol https://www.haproxy.org/downl... 来传递真实IP。
两者都有一个共同点:
后端需要修改代码才能获取到这个IP。