Containers Return HTTP 200, but Browsers Time Out After an Update
Asked by
MellowCedar42
After updating a container that serves a webpage, the site stopped loading in several browsers, even though it had worked previously. Browser requests eventually timed out, but curl still returned the expected HTML, and container logs showed successful HTTP 200 GET requests. The setup may include a reverse proxy, and the server recently experienced a power outage. What could cause this mismatch, and what troubleshooting steps should be tried?
Answers
The issue was ultimately fixed by reinstalling Docker and rebooting the Arch Linux server. A recent power outage may have corrupted Docker data or networking state, so the reinstall restored the affected files and services.
Reply to this answer
Recreating the containers can fix stale network state. For a Compose deployment, bring the stack down and start it again with forced recreation, then confirm that the ports, networks, and proxy settings match the previous working setup.
Reply to this answer
Try clearing the browser cache and cookies, then test curl from several locations: the client machine, the Docker host, and another container. That helps determine whether the problem is browser-specific, host networking, or container-to-container communication.
Reply to this answer
Since curl works but browser requests time out, check the path between the browser and the container rather than the application itself. Verify reverse-proxy configuration, container network attachment, DNS, and the published port mappings. An update may have changed the container address or caused the proxy to lose access to the service.
Reply to this answer
Add your answer
Answers are reviewed before publication.
Related Discussions