myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Web-Technologien » Wie bekomme ich die Client IP-Adresse unter ASP.NET Core in Docker heraus?
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Wie bekomme ich die Client IP-Adresse unter ASP.NET Core in Docker heraus?

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Shojo Shojo ist männlich
myCSharp.de-Mitglied

Dabei seit: 04.06.2015
Beiträge: 8


Shojo ist offline

Wie bekomme ich die Client IP-Adresse unter ASP.NET Core in Docker heraus?

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Guten Tag die Runde,

ich habe eine ASP.NET Core 2.2 Anwendung einen Docker Container hinter einen Nginx Proxy  https://github.com/jwilder/nginx-proxy am laufen.
Jetzt habe ich das Problem das ich über Request.HttpContext.Connection.RemoteIpAddress nur die IP 172.20.0.1 zurückbekomme statt die eigentliche IP des Clients.

Ich habe bereits die folgende Zeilen in der Startup.cs hinzugefügt:

C#-Code:
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
                ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
});

und für den Nginx die /etc/nginx/proxy.conf angelegt mit den Inhalt;

Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
proxy_http_version 1.1;
proxy_buffering off;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $proxy_connection;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $proxy_x_forwarded_proto;
proxy_set_header X-Forwarded-Ssl $proxy_x_forwarded_ssl;
proxy_set_header X-Forwarded-Port $proxy_x_forwarded_port;
proxy_set_header Proxy "";

Habe ich was übersehen?
Hat da wer ein Anstoß für mich? smile

Gruß
Shojo
04.04.2019 09:27 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 13.943
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ist UseForwardedHeaders auch wirklich die erste registrierte Middleware, wie es auch die Dokumentation sagt?
Das beachten leider die meisten nicht...

Ansonsten verwende ich das Snippet hier:

C#-Code:
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
    ForwardedHeaders = ForwardedHeaders.All,
    ForwardLimit = null, // null = disable check
    RequireHeaderSymmetry = false,
    KnownProxies = { IPAddress.Parse("<IP Adresse 1>"), IPAddress.Parse("<IP Adresse n...>") },
});
04.04.2019 11:59 Beiträge des Benutzers | zu Buddylist hinzufügen
Shojo Shojo ist männlich
myCSharp.de-Mitglied

Dabei seit: 04.06.2015
Beiträge: 8

Themenstarter Thema begonnen von Shojo

Shojo ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ja ich habe da die Doku sauber befolgt, aber dein Snippet brachte den gewünschten Erfolg smile

Ich danke dir für die Hilfe!
04.04.2019 20:24 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als ein Jahr.
Der letzte Beitrag ist älter als ein Jahr.
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 07.07.2020 07:42