Moin,
Man kann dem nginx einfach sagen keinen content-length Header mehr zu senden, dann horcht der Browser oder auch curl so lange, bis der Server die Verbindung (oder im Fall von http2 ‚stream‘) terminiert.
Ich denke mal, der nginx ist nur ein reverse proxy? Ich hatte das Problem mal mit backend=gzip Proxy=kein gzip. Dann verrechnet der sich irgendwo.
So wie ich das sehe ist gzip für die Ressourcen nicht aktiv, daher kann ich mir das vorstellen. Die zweite Sache die ich schon mal hatte war, dass der backend-Server einen falschen contentlength Header gesendet hat und der nginx den einfach übernommen hat.Möglicherweise liegt es auch da dran..
Danke für deine Ideen!
Der nginx vom Backend verwendet folgende Config: https://github.com/discourse/discourse/blob/master/config/nginx.sample.conf
Der Reverse-Proxy davor eigentlich nur: location / { proxy_pass http://127.0.0.1:3001; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_redirect off; }
Versuchte Lösungsansätze, die leider keine Besserung brachten:
* gzip-Config wie in der vom Docker-Container mit analoger Anpassung für die Assets-Location * proxy_protocol auf 1.1 gestellt (ist aber wohl der default * http2 aus dem Reverse-Proxy rausgenommen -> demnach verwendet nginx wohl http2 als Default
Viele Grüße Björn
Moin,
proxy_pass http://127.0.0.1:3001; proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_redirect off;
hier fehlte ein proxy_buffering off - nun geht es jedenfalls mit curl und wget.
VG bjo