CDN CORS for browser uploads
With Performance mode on, browser PUT needs bucket CORS. Panel shows for R2, AWS, IDrive, DigitalOcean after test.
CDN CORS for browser uploads
Allow the browser to PUT/GET objects on the bucket when CDN Performance mode bypasses the main app.
Where to find it
CDN form - after Test connection when Performance mode is on and the probe returns CORS required. Dedicated panels for R2, Amazon S3, IDrive e2, and DigitalOcean Spaces.
How it works
Desired rule (also used by auto-setup when credentials allow):
- Origins: site origin + www / non-www twin
- Methods: GET, PUT, HEAD
- Headers:
content-type,content-length(R2 rejectsAllowedHeaders: ["*"]) - Expose: ETag; MaxAge: 86400
With Performance mode off, traffic is proxied and the CORS panel stays hidden. Wasabi / Contabo / Other have no dedicated panel - still configure CORS at the provider if you use direct browser PUT.
Presigned upload TTL 86400 s; download 900 s when Performance mode is on.
Common problems
R2 rejects wildcard headers
Use explicit content-type and content-length only.
Contabo / Other silent
No dedicated CORS help UI - configure CORS in the provider console.