Fixes tagged Cloudflare
8 fixes · back to all fixes
Your _headers file serves 7 headers in production and 2 on a preview deployment
After adding a scoped Content-Security-Policy rule, the preview deployment served only two of seven headers. It looked exactly like a rejected _headers file. Deploying the unchanged original to a preview produced the identical result.
4 min read →
GET /_worker.js returns 200 and every route it declares 404s
A hand-written _worker.js deployed to Cloudflare Pages, the deployment reported success, the site worked, and the entire API was gone. The file had been uploaded as an asset instead of compiled as a worker, so Pages served the source code at its own path.
5 min read →
My Cloudflare Pages deploy returned success and served 500 on every route
A direct upload to Cloudflare Pages answered success: true, handed back a deployment URL, and every single path on it returned HTTP 500 - including the live domain, because a deploy with no branch named goes to production. The manifest is not the files. Here is the three-step upload that actually works.
4 min read →
When wrangler dies behind a corporate proxy, use the API
Wrangler and other vendor CLIs hang or throw TLS errors behind a corporate proxy that intercepts HTTPS. Skip the CLI and drive the Cloudflare REST API directly with curl and a scoped token.
2 min read →
A Pages custom domain added by API gets stuck on 'CNAME record not set'
Attach a custom domain to a Cloudflare Pages project through the API and it can sit at pending forever. The dashboard auto-creates the DNS record; the API doesn't, and a Pages-scoped token can't either.
2 min read →
Your Cloudflare Pages env vars do nothing (Direct Upload vs Git build)
You set a PUBLIC_ variable in the Pages dashboard, redeploy, and the build still can't see it. The reason: a Direct Upload project builds in your CI, not on Cloudflare, so the dashboard env vars never reach the build.
2 min read →
Your Cloudflare build passes locally but silently fails in CI
A Vite alias that reached outside the repo root built fine locally but failed on Cloudflare Pages for weeks, while the old bundle kept serving.
2 min read →
catbox.moe invalid uploader (HTTP 412) and the free image host that worked
catbox.moe answered HTTP 412 "invalid uploader" and 0x0.st had uploads switched off, both from behind a corporate proxy on Windows. A public GitHub repo served through jsDelivr's CDN gave free image URLs that stay up.
2 min read →