[Sites] Public deployment succeeds but production URL resets before headers
Open 💬 0 comments Opened Jul 15, 2026 by GT-ONE-CX
What issue are you seeing?
A website created and deployed through ChatGPT Sites reports a successful production deployment and public access, but the production URL does not reach the application.
Production URL:
https://recommendation-fairness-growth.gtlycxl.chatgpt.site/
The user-facing error is:
upstream connect error or disconnect/reset before headers.
reset reason: connection termination
What steps can reproduce the bug?
- Create a site from Codex Desktop using the bundled Sites workflow.
- Build and deploy the site.
- Change sharing to public / anyone with the link.
- Confirm in Sites that the project is active, not disabled, and the access policy is public.
- Open the production URL in a browser.
- Observe that the request is reset before response headers.
- Save and deploy a completely new version.
- Add a minimal static health probe at
/health.txt. - Open both the root URL and
/health.txt; the public hosting path still fails.
What is the expected behavior?
A deployment reported as succeeded should serve the generated HTML at the production URL. The minimal static health file should also be reachable.
If the origin or edge route cannot serve traffic, the deployment should be marked failed or provide an actionable hosting error rather than reporting success.
What is the actual behavior?
- Sites reports the project as active and public.
- The latest saved version and a fresh redeployment both report
succeededwith no failure message. - The public URL still fails before the application returns headers.
- A separate access path can also receive a Cloudflare block page, indicating that the request is failing at the edge/dispatch layer before reaching the app.
Diagnostics already completed
- The production build completes successfully.
- The local production server returns HTTP 200 and the correct HTML.
- The generated Worker entry point returns HTTP 200 when invoked locally.
- The packaged deployment artifact matches the validated source state.
- The site has no D1 or R2 bindings and the homepage has no external API dependency.
- Access was changed from owner-only to public and verified after the change.
- A second, newly saved version was deployed after public access was enabled.
- Both the application route and the minimal
/health.txtroute remain unavailable publicly. - Reproduced on 2026-07-15 (Asia/Shanghai) in Codex Desktop on macOS.
This looks like a Sites/Cloudflare edge dispatch, origin routing, or deployment propagation issue rather than an application runtime failure.