IP Adresse einer Socket Verbindung hinter Proxy / Loadbalancer

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von ThuCommix.

    IP Adresse einer Socket Verbindung hinter Proxy / Loadbalancer

    Moin zusammen,

    folgende Konstellation:

    Hinter einem Load Balancer befinden sich mehrere Server.

    der LB verteilt die Verbindungen dann an die Server.

    Auf den Servern läuft eine kleine Anwendung, die die
    Socketverbindung annimmt, den Zeitpunkt und die IP Adresse in einer
    Datenbank speichert. Allerdings erhalte ich, wie zu erwarten war, die IP
    Adresse des Load Balancers.

    VB.NET-Quellcode

    1. Dim ipRemoteEndpoint As String = tmpSocket.RemoteEndPoint.ToString
    2. Dim ipRemoteEndpointSplit() As String = Split(ipRemoteEndpoint, ":")
    3. Dim clientip As String
    4. clientip = ipRemoteEndpointSplit(0)


    Über den gleichen Load Balancer laufen auch HTTP Anfragen, die dann an den
    jeweiligen IIS weiter gereicht werden, lese ich die IP über ein PHP
    Script aus, erhalte ich per $_SERVER['REMOTE_ADDR'] die IP des Load
    Balancers, per FORWARDED FOR aber die reale IP des Clients, der sich
    verbunden hat.

    Gibt es eine Möglichkeit, per VB.NET auch die IP des Klienten zu ermitteln und nicht die IP des Load Balancers?

    2.)

    Kann ich der Socketverbindung ein "Custom Flag" mit auf den Weg geben?

    Also so nach dem Schema socket.customFlag.haarFarbe = "blau"?

    Der Wunsch wäre, dass jeder Server hinter dem LB dann das Flag sehen
    kann und weiß "aha, das ist Verbindung XYZ", dann bräuchte ich die
    Geschichte mit der IP nicht mehr.

    Danke und Gruß

    Boris
    Ich hätte den LB wie in der angehangenen Grafik realisiert.

    1) Der Client verbindet sich mit den LB
    2) LB überprüft welcher Server noch Kapazitäten hat
    3) LB schickt die IP des gewählten Servers an den Client
    4) Der Client trennt die LB Verbindung und verbindet sich mit der gesendeten IP
    Bilder
    • Unbenannt.png

      11,44 kB, 800×600, 89 mal angesehen