Anzeigen der echten Request-IP hinter Docker Container NGINX-Reverse-Proxy

donnerwolke

Cadet 4th Year
Registriert
Aug. 2013
Beiträge
75
Mahlzeit miteinander,

ich komm mal wieder nicht weiter.

Aktuell nutze ich einen VPS bei Netcup, auf welchem Docker Container laufen. Darunter habe ich auch einen NGINX Proxy Manager in Benutzung, damit ich mehrere HTTP Dienste hosten kann.
Die Firewall habe ich konfiguriert nach folgender Anleitung und es funktioniert auch: https://stackoverflow.com/a/51741599/23145756

Die Docker-Compose.yaml ist folgendermaßen konfiguriert:
https://privatebin.media-techport.de/?0d2153e3749376b9#51evVkXwHFYMQN9N5Eee956xn59DtR2XL3UTsj1jHhm2

Alle HTTP Dienste sind korrekt erreichbar.
Jedoch sehe ich in den Logs nur die interne IP der jeweiligen Container in den Logs.

Beispiel:
Code:
28.12.2023
14:21:09
172.16.0.11 - - [28/Dec/2023:13:21:09 +0000] "GET / HTTP/1.1" 304 -
28.12.2023
14:21:09
172.16.0.11 - - [28/Dec/2023:13:21:09 +0000] "GET /main.css?ver=190 HTTP/1.1" 200 82236
28.12.2023
14:21:09
172.16.0.11 - - [28/Dec/2023:13:21:09 +0000] "GET /thirdparty/CodecsHandler.js?ver=37 HTTP/1.1" 200 20537
28.12.2023
14:21:09
172.16.0.11 - - [28/Dec/2023:13:21:09 +0000] "GET /thirdparty/adapter.min.js HTTP/1.1" 200 57204
28.12.2023
14:21:09
172.16.0.11 - - [28/Dec/2023:13:21:09 +0000] "GET /webrtc.js?ver=515 HTTP/1.1" 200 415495
28.12.2023
14:21:09
172.16.0.11 - - [28/Dec/2023:13:21:09 +0000] "GET /thirdparty/aes.js HTTP/1.1" 200 13360
28.12.2023
14:21:09
172.16.0.11 - - [28/Dec/2023:13:21:09 +0000] "GET /main.js?ver=432 HTTP/1.1" 200 185110
28.12.2023
14:21:09
172.16.0.11 - - [28/Dec/2023:13:21:09 +0000] "GET /lib.js?ver=440 HTTP/1.1" 200 990776
28.12.2023
14:21:09
172.16.0.11 - - [28/Dec/2023:13:21:09 +0000] "GET /translations/blank.json HTTP/1.1" 200 42702
28.12.2023
14:21:09
172.16.0.11 - - [28/Dec/2023:13:21:09 +0000] "GET /media/favicon-32x32.png HTTP/1.1" 200 1279
28.12.2023
14:21:09
172.16.0.11 - - [28/Dec/2023:13:21:09 +0000] "GET /lineawesome/fonts/la-solid-900.woff2 HTTP/1.1" 304 -
28.12.2023
14:21:09
172.16.0.11 - - [28/Dec/2023:13:21:09 +0000] "GET /thirdparty/polyfill.min.js HTTP/1.1" 200 56084
28.12.2023
14:21:09
172.16.0.11 - - [28/Dec/2023:13:21:09 +0000] "GET /thirdparty/StreamSaver.js?v=13 HTTP/1.1" 200 9769

Das habe ich bei allen Docker Containern, welche über den Reverse Proxy erreichbar sind.

Dann habe ich einen Docker mal direkt freigegeben und den Webservice über IP:8088 aufgerufen.
Die Logs sehen gleich ganz anders aus:

Code:
28.12.2023
15:00:40
109.90.xx.xx - - [28/Dec/2023:14:00:40 +0000] "GET /main.css?ver=190 HTTP/1.1" 200 82236
28.12.2023
15:00:40
109.90.xx.xx - - [28/Dec/2023:14:00:40 +0000] "GET /thirdparty/adapter.min.js HTTP/1.1" 200 57204
28.12.2023
15:00:40
109.90.xx.xx - - [28/Dec/2023:14:00:40 +0000] "GET /thirdparty/aes.js HTTP/1.1" 200 13360
28.12.2023
15:00:40
109.90.xx.xx - - [28/Dec/2023:14:00:40 +0000] "GET /thirdparty/CodecsHandler.js?ver=37 HTTP/1.1" 200 20537
28.12.2023
15:00:40
109.90.xx.xx - - [28/Dec/2023:14:00:40 +0000] "GET /lib.js?ver=440 HTTP/1.1" 200 990776
28.12.2023
15:00:40
109.90.xx.xx - - [28/Dec/2023:14:00:40 +0000] "GET /main.js?ver=432 HTTP/1.1" 200 185110
28.12.2023
15:00:40
109.90.xx.xx - - [28/Dec/2023:14:00:40 +0000] "GET /webrtc.js?ver=515 HTTP/1.1" 200 415495
28.12.2023
15:00:40
109.90.xx.xx - - [28/Dec/2023:14:00:40 +0000] "GET /translations/blank.json HTTP/1.1" 200 42702
28.12.2023
15:00:40
109.90.xx.xx - - [28/Dec/2023:14:00:40 +0000] "GET /lineawesome/fonts/la-solid-900.woff2 HTTP/1.1" 200 96752
28.12.2023
15:00:40
109.90.xx.xx - - [28/Dec/2023:14:00:40 +0000] "GET /media/screenshare.webm HTTP/1.1" 206 89550
28.12.2023
15:00:40
109.90.xx.xx - - [28/Dec/2023:14:00:40 +0000] "GET /media/favicon-32x32.png HTTP/1.1" 200 1279
28.12.2023
15:00:40
109.90.xx.xx - - [28/Dec/2023:14:00:40 +0000] "GET /media/favicon-16x16.png HTTP/1.1" 200 757
28.12.2023
15:00:40
109.90.xx.xx - - [28/Dec/2023:14:00:40 +0000] "GET /thirdparty/polyfill.min.js HTTP/1.1" 200 56084
28.12.2023
15:00:40
109.90.xx.xx - - [28/Dec/2023:14:00:40 +0000] "GET /thirdparty/StreamSaver.js?v=13 HTTP/1.1" 200 9769

Die IP habe ich ein wenig angepasst, da dies meine feste IP Zuhause ist.

Was kann ich tun, damit ich in den Logs die korrekte IP angezeigt bekomme?
Ich weiss, dass ich diverse Header weitergeben muss.
Das scheint aber nicht zu funktionieren:

1703772277951.png


Kann mich jemand bei der Fehlersuche unterstützen?

Ich bedanke mich.
Beste Grüße
 
Lass den Proxy einen X-Forwarded-For" in den Header reinschreiben und lasse diesen von deinen Applikation loggen.
 
Danke für deine Rückmeldung.

Ich dachte, das macht der Proxy bereits? (siehe Screenshot)
 
Zurück
Oben