[Bug]: Infinite loading/hang when sharing a local Docker container via Expose client
- Dominant language
- PHP
- Stars
- 4.6k
- Forks
- 308
- PR merge metrics
- No merged PRs in 30d
Description
### System architecture
Linux
### PHP Version
_No response_
### Bug description
I am experiencing an issue where the public URL provided by Expose hangs indefinitely in the browser, while the target service is reachable and responding correctly within the same Docker network.
### Environment:
* **Expose Client:** PHP Binary (latest build)
* **Tested OS:** Reproduced on Windows 10 (Docker Desktop with WSL2 backend) and native Ubuntu 24.04.
* **Docker Image:** `php:8.2-cli-alpine`
* **Target Service:** React/TypeScript application running on port 80.
* **Source Files:**
* [Dockerfile](https://github.com/kearisp/wocker-rproxy-plugin/blob/v1.0.13/plugin/expose/Dockerfile)
* [entrypoint.sh](https://github.com/kearisp/wocker-rproxy-plugin/blob/v1.0.13/plugin/expose/bin/entrypoint.sh)
### Expected Behavior:
The Public URL should serve the content from the target container.
### Actual Behavior:
Infinite "Waiting for host..." in the browser.
### Additional Context:
- Running `curl -I http://$CONTAINER:$PORT` from inside the Expose container returns a valid 200 OK response instantly.
- **Docker Setup:** The web application and the Expose client run in two separate containers within the same Docker network. As mentioned, they have full connectivity via container names.
- **Cross-platform check:** The issue is not OS-specific. I have reproduced the exact same behavior on both **Ubuntu 24.04** and **Windows 10**. Since `curl` inside the container works, this confirms the issue isn't basic network connectivity, but likely something in how Expose handles the response stream or headers from the target service.
### Steps to Reproduce:
1. Run a web service in a Docker container (service name defined in `$CONTAINER`).
2. Run the Expose client container using the linked Dockerfile/entrypoint.
3. Access the Public URL.
4. The Expose logs show the request:
`GET / ............................................................ 11:53:14 21 ms`
5. The browser continues to wait for a response indefinitely.
Contributor guide
Assessment
This issue has not been assessed yet.