greystone
Active Member
Hi,
ich habe hier einen Reverse-Proxy und ich bekomme bei manchen Anwendungen dort Timeouts und weiß nicht woran das liegen könnte. Grundsätzlich funktionieren manche Anwendungen. Andere nicht. Das war schon immer so. Bei dieser Anwendung(VMware View) habe ich nur Timeouts(ca. 120 Sekunden) und dann geht es. Eine andere Anwendung(pfSense) geht gar nicht mit dem gleichen Symptom.
Wenn ich den Reverse-Proxy weglasse und direkt ein DNAT an der Firewall zum VMWare View Server einrichte geht alles ohne Probleme.
Was könnte das sein?
Vermutung: Ich habe etwas typisches, was man beim ReverseProxy Betrieb beachten muss noch nicht kapiert, bzw. bin mir dessen nicht bewusst und dementsprechend nicht konfiguriert.
Das Setup ist:
Browser --> Internet --> Firewall --> Reverse-Proxy --> Anwendung
Reverse-Proxy ist ein nginx via Docker. Das verwendete Docker-Image ist nginx/alpine:current (gerade eben aktualisiert). Das sind die installierten nginx-Pakete unter alpine:
Hier ist die NGINX-Config von nginx -T . Unwichtige Teile(Andere VHosts, mime-types) sind nicht enthalten.
https://debianforum.de/forum/pastebin/?mode=view&s=41822
Hier ist das debug log:
Zu den IP-Adressen:
0.0.0.174 Das ist die maskierte statische öffentliche IP von meinem Client(Ausgehend via VPN)
0.0.0.30 Das ist die maskierte interne IP im Ziel-LAN des VMWare View Servers
Nachtrag
Ich habe jetzt nochmal mit tcpdump geschaut und ich sehe, dass der Request brav am Reverse-Proxy ankommt und vom Reverse-Proxy weitergeleitet wird. Aber das VMware View antwortet mal so überhaupt nicht. Also nicht über den Reverse-Proxy. Die Webseite wird am Client angezeigt(Browser-Cache gelöscht). Ist da im Protokoll vielleicht die echte Public IP von meinem Client drin und die Antwort geht unter Umgehung des Proxies direkt über die Firewall nach draußen?
Der tcpdump zeigt keine Pakete die als Antwort vom VMWare-Backend zurück an den Reverse-Proxy gehen. Es gehen auch keine Pakete über die Firewall vom VMWare-Backend zurück an meine Client IP.
Den NGINX-Cache habe ich mal ausgeschaltet(expire -1 ; ).
ich habe hier einen Reverse-Proxy und ich bekomme bei manchen Anwendungen dort Timeouts und weiß nicht woran das liegen könnte. Grundsätzlich funktionieren manche Anwendungen. Andere nicht. Das war schon immer so. Bei dieser Anwendung(VMware View) habe ich nur Timeouts(ca. 120 Sekunden) und dann geht es. Eine andere Anwendung(pfSense) geht gar nicht mit dem gleichen Symptom.
Wenn ich den Reverse-Proxy weglasse und direkt ein DNAT an der Firewall zum VMWare View Server einrichte geht alles ohne Probleme.
Was könnte das sein?
Vermutung: Ich habe etwas typisches, was man beim ReverseProxy Betrieb beachten muss noch nicht kapiert, bzw. bin mir dessen nicht bewusst und dementsprechend nicht konfiguriert.
Das Setup ist:
Browser --> Internet --> Firewall --> Reverse-Proxy --> Anwendung
Reverse-Proxy ist ein nginx via Docker. Das verwendete Docker-Image ist nginx/alpine:current (gerade eben aktualisiert). Das sind die installierten nginx-Pakete unter alpine:
Code:
nginx-1.23.2-r1 x86_64 {nginx} (2-clause BSD-like license) [installed]
nginx-module-xslt-1.23.2-r1 x86_64 {nginx-module-xslt} (2-clause BSD-like license) [installed]
nginx-module-image-filter-1.23.2-r1 x86_64 {nginx-module-image-filter} (2-clause BSD-like license) [installed]
nginx-module-njs-1.23.2.0.7.7-r1 x86_64 {nginx-module-njs} (2-clause BSD-like license) [installed]
nginx-module-geoip-1.23.2-r1 x86_64 {nginx-module-geoip} (2-clause BSD-like license) [installed]
Hier ist die NGINX-Config von nginx -T . Unwichtige Teile(Andere VHosts, mime-types) sind nicht enthalten.
https://debianforum.de/forum/pastebin/?mode=view&s=41822
Hier ist das debug log:
Code:
2022/11/15 17:04:56 [error] 19#19: *5 upstream timed out (110: Operation timed out) while reading upstream, client: 0.0.0.174, server: view.mydomain.de, request:
"GET /portal/info.jsp?_=1668531836588 HTTP/1.1", upstream: "https://0.0.0.30:443/portal/info.jsp?_=1668531836588", host: "view.mydomain.de", referrer: "https://vie
w.mydomain.de/portal/webclient/index.html"
2022/11/15 17:06:20 [error] 19#19: *31 upstream timed out (110: Operation timed out) while reading upstream, client: 0.0.0.0.174, server: view.mydomain.de, request:
"GET /portal/info.jsp?_=1668531920845 HTTP/1.1", upstream: "https://0.0.0.30:443/portal/info.jsp?_=1668531920845", host: "view.mydomain.de", referrer: "https://vi
ew.mydomain.de/portal/webclient/index.html"
2022/11/15 17:06:26 [info] 19#19: *96 client closed connection while waiting for request, client: 0.0.0.174, server: 0.0.0.0:443
Zu den IP-Adressen:
0.0.0.174 Das ist die maskierte statische öffentliche IP von meinem Client(Ausgehend via VPN)
0.0.0.30 Das ist die maskierte interne IP im Ziel-LAN des VMWare View Servers
Nachtrag
Ich habe jetzt nochmal mit tcpdump geschaut und ich sehe, dass der Request brav am Reverse-Proxy ankommt und vom Reverse-Proxy weitergeleitet wird. Aber das VMware View antwortet mal so überhaupt nicht. Also nicht über den Reverse-Proxy. Die Webseite wird am Client angezeigt(Browser-Cache gelöscht). Ist da im Protokoll vielleicht die echte Public IP von meinem Client drin und die Antwort geht unter Umgehung des Proxies direkt über die Firewall nach draußen?
Der tcpdump zeigt keine Pakete die als Antwort vom VMWare-Backend zurück an den Reverse-Proxy gehen. Es gehen auch keine Pakete über die Firewall vom VMWare-Backend zurück an meine Client IP.
Den NGINX-Cache habe ich mal ausgeschaltet(expire -1 ; ).
Last edited: