diff --git a/image-recipe/configs/snippets/archipelago-https-app-proxies.conf b/image-recipe/configs/snippets/archipelago-https-app-proxies.conf index 7ded1871..83f86cac 100644 --- a/image-recipe/configs/snippets/archipelago-https-app-proxies.conf +++ b/image-recipe/configs/snippets/archipelago-https-app-proxies.conf @@ -148,6 +148,12 @@ location /app/photoprism/ { location /app/mempool/ { proxy_pass http://127.0.0.1:4080/; proxy_http_version 1.1; + # mempool's UI is websocket-driven (/api/v1/ws). Without forwarding the + # upgrade, the page loads but never connects — the backend can be fully + # healthy and every REST probe green while the user sees a dead UI + # (2026-08-09). 101 through this proxy is the only honest health signal. + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; diff --git a/scripts/nginx-https-app-proxies.conf b/scripts/nginx-https-app-proxies.conf index 3a872304..75419786 100644 --- a/scripts/nginx-https-app-proxies.conf +++ b/scripts/nginx-https-app-proxies.conf @@ -112,6 +112,12 @@ location /app/photoprism/ { location /app/mempool/ { proxy_pass http://127.0.0.1:4080/; proxy_http_version 1.1; + # mempool's UI is websocket-driven (/api/v1/ws). Without forwarding the + # upgrade, the page loads but never connects — the backend can be fully + # healthy and every REST probe green while the user sees a dead UI + # (2026-08-09). 101 through this proxy is the only honest health signal. + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;