Hot Module Replacement mit Nginx in Docker

Hallo Shopware-Gemeinschaft,

ich habe ein Docker-Setup laufen mit Nginx, PHP-FPM, Datenbank und weiterem Stuff, der hier nicht von Bedeutung sein sollte.
Funktioniert alles soweit tadellos.

Möchte ich nun das HMR nutzen, wird mir im Browser ein 502 Bad Gateway Fehler ausgeworfen. Nginx meldet

naturanum_nginx         | 2022/11/15 09:29:16 [error] 190#190: *216 upstream prematurely closed connection while reading response header from upstream, client: 172.31.0.1, server: , request: "GET / HTTP/2.0", upstream: "http://172.31.0.7:9998/", host: "localhost:9998"
naturanum_nginx         | 172.31.0.1 - - [15/Nov/2022:09:29:16 +0000] "GET / HTTP/2.0" 502 559 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36" "-"

und der Watcher sagt

Rejecting request "GET localhost/" on proxy server for "localhost:9998"

Was habe ich bereits gemacht

Im nginx-Container sind die Ports 9998 und 9999 freigegeben. Die nginx-Config ist so konfiguriert, dass Anfragen an diese Ports durchgeleitet werden an den App-Container, auf welchem der Watcher läuft:

server {
    listen 9998 ssl http2 default_server;
    #listen 9998 default_server;

    ssl_certificate /etc/nginx/certs/server.crt;
    ssl_certificate_key /etc/nginx/certs/server.key;

    location / {
        proxy_pass http://naturanum_app:9998;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

server {
    listen 9999 ssl http2 default_server;

    ssl_certificate /etc/nginx/certs/server.crt;
    ssl_certificate_key /etc/nginx/certs/server.key;

    location / {
        proxy_pass http://naturanum_app:9999;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

Vor dem Start des Watchers wurden mit bin/build-administration.sh, bin/build-js.sh und bin/build-storefront.sh alles einmal gebaut. Anschließend wird der Watcher gestaret mit bin/watch-storefront.sh. Es läuft alles durch, gibt keine Fehlermeldungen, der Watcher wird gestartet mit

ℹ 「wds」: Project is running at https://localhost:9998/
ℹ 「wds」: webpack output is served from https://localhost:9998/
ℹ 「wds」: Content not from webpack is served from /var/www/html/vendor/shopware/storefront/Resources/app/storefront/dist

Anschließend hört er auch auf Änderungen und kompiliert. Doch leider kann ich, wie oben beschrieben, die Änderungen nicht sehen, da ich nicht darauf zugreifen kann.

Any Ideas?

No ideas, aber dasselbe Problem in der Container Console.

Ich benutze den Nginx Proxy Manager (https://nginxproxymanager.com/).