Describe the bug
In OrbStack 2.2.3, the HTTPS proxy sometimes keeps using the IP address of a
removed container after recreating a Compose project with
docker compose down followed by docker compose up -d.
This appears to be a regression of #1876 and #2570, which were marked as fixed
in v2.2.0 and v2.2.2 respectively.
Controlled reproduction:
-
example service container IP before down/up: 192.168.97.2
-
example service container IP after down/up: 192.168.97.6
-
A new curl connection to the same HTTPS URL returns HTTP 200.
-
Refreshing the existing Microsoft Edge session still makes OrbStack connect
to 192.168.97.2 and returns:
502 Bad Gateway
OrbStack proxy error: dial tcp 192.168.97.2:3000: connect: connection refused
-
Fully terminating and reopening Edge makes the URL work again.
-
The browser uses the same existing HTTPS/HTTP2 connection to the OrbStack
proxy when the problem occurs.
This suggests that OrbStack associates an upstream container or route with an
existing client connection and does not update that association when the
container is replaced.
To Reproduce
- Start a Compose project with a dummy HTTP service listening on port 3000.
- Open
https://dummy.<project>.orb.local/... in Microsoft Edge.
- Verify that the URL works.
- Run
docker compose down.
- Run
docker compose up -d, causing the dummy service container to receive a new
internal IP address.
- Refresh the existing Edge tab without restarting Edge.
- OrbStack returns a 502 and attempts to connect to the old container IP.
- Open a new connection using
curl; it reaches the new container and
returns HTTP 200.
Expected behavior
After a container is replaced, the proxy should route existing and new client
connections to the current container IP. If an existing connection cannot be
updated, OrbStack should close it so the client reconnects.
docker compose down && docker compose up -d should work without restarting
the browser or OrbStack, flushing caches, or restarting containers again.
Diagnostic report (REQUIRED)
OrbStack info:
Version: 2.2.3
Commit: c83556b0ef8f1ba9a33abbb194622b6b7a1c0307 (v2.2.3)
System info:
macOS: 26.6.1 (25G76)
CPU: Apple M1 Pro, arm64
Memory: 32 GiB
Full report:
https://orbstack.dev/_admin/diag/orbstack-diagreport_2026-08-12T09-49-21.613206Z.zip
Screenshots and additional context
- Microsoft Edge: 151.0.4129.78
- Docker client/server: 29.4.0
- Docker Compose: 5.1.2
- The service is correctly listening on port 3000.
- The problem has occurred repeatedly across different projects.
- Disabling browser DNS, DNS-over-HTTPS, and QUIC does not prevent it.
Describe the bug
In OrbStack 2.2.3, the HTTPS proxy sometimes keeps using the IP address of a
removed container after recreating a Compose project with
docker compose downfollowed bydocker compose up -d.This appears to be a regression of #1876 and #2570, which were marked as fixed
in v2.2.0 and v2.2.2 respectively.
Controlled reproduction:
example service container IP before
down/up:192.168.97.2example service container IP after
down/up:192.168.97.6A new
curlconnection to the same HTTPS URL returns HTTP 200.Refreshing the existing Microsoft Edge session still makes OrbStack connect
to
192.168.97.2and returns:Fully terminating and reopening Edge makes the URL work again.
The browser uses the same existing HTTPS/HTTP2 connection to the OrbStack
proxy when the problem occurs.
This suggests that OrbStack associates an upstream container or route with an
existing client connection and does not update that association when the
container is replaced.
To Reproduce
https://dummy.<project>.orb.local/...in Microsoft Edge.docker compose down.docker compose up -d, causing the dummy service container to receive a newinternal IP address.
curl; it reaches the new container andreturns HTTP 200.
Expected behavior
After a container is replaced, the proxy should route existing and new client
connections to the current container IP. If an existing connection cannot be
updated, OrbStack should close it so the client reconnects.
docker compose down && docker compose up -dshould work without restartingthe browser or OrbStack, flushing caches, or restarting containers again.
Diagnostic report (REQUIRED)
OrbStack info:
Version: 2.2.3
Commit: c83556b0ef8f1ba9a33abbb194622b6b7a1c0307 (v2.2.3)
System info:
macOS: 26.6.1 (25G76)
CPU: Apple M1 Pro, arm64
Memory: 32 GiB
Full report:
https://orbstack.dev/_admin/diag/orbstack-diagreport_2026-08-12T09-49-21.613206Z.zip
Screenshots and additional context