BREAKING: Cloudflare MINOR π‘ Image Resizing on R2 β Workarounds Inside
Cloudflare Image Resizing on R2 is experiencing partial disruption. Here's what's down, who's affected, and immediate workarounds for your projects.
INCIDENT REPORT: Cloudflare Image Resizing on R2
Status: Identified | Severity: MINOR | Impact: Partial Disruption
---
π΄ WHAT'S DOWN & WHO'S AFFECTED
Cloudflare's Image Resizing feature on R2 buckets is currently experiencing issues. This impacts:
You're affected if:
cf-image-resizing or similar Cloudflare image optimizationYou're NOT affected if:
---
β‘ IMMEDIATE WORKAROUNDS (DO THIS NOW)
Option 1: Pre-Generate Variants (2-10 min setup)
```javascript // Instead of relying on dynamic resizing: // Generate common sizes at upload timeconst sizes = [320, 640, 1024]; for (const size of sizes) { await generateAndUploadVariant(file, size); // Store as separate objects }
// Serve pre-sized images
const imageUrl = ${r2Bucket}/${filename}-${requestedSize}.jpg;
```
Option 2: Fallback to Alternative CDN (5 min)
```javascript // Add fallback logic to your Workers script if (isImageResizingDown) { return fetch(https://alternative-cdn.com/resize?url=${imageUrl}&w=400);
}
```Option 3: Serve Originals Temporarily (1 min)
Remove size parameters from requests, serve full-resolution images until resolved. Not ideal, but maintains uptime.---
π CHECK IF YOUR PROJECT IS AFFECTED
Run this quick diagnostic:
```bash
Test your image resizing endpoint
curl -I "https://yourdomain.com/image.jpg?width=400&quality=75"Look for these headers:
X-Error: ImageResizingError (= you're hit)
X-Served-By: (normal = not affected)
Check Cloudflare dashboard:
Workers > [Your Worker] > Real-time logs
Filter for errors containing "resizing"
```---
π§ ALTERNATIVE TOOLS TO CONSIDER
| Tool | Setup Time | Cost | Notes | |------|-----------|------|-------| | imgix | 10 min | $0.08/1000 | Enterprise-grade, reliable | | Bunny CDN | 5 min | $0.03/GB | Excellent performance, cheaper | | Cloudinary | 15 min | Free tier available | Feature-rich, best-in-class | | Sharp (Node.js) | 20 min | Self-hosted | Full control, requires infrastructure | | ImageMagick | 30 min | Self-hosted | Lightweight alternative |
---
π‘ MONITOR RECOVERY
Official Status:
Test Recovery: ```bash
Monitor every 2 minutes
watch -n 120 'curl -s https://yourdomain.com/test-image.jpg?width=200 | head -c 10' ```Expected Resolution: 30-90 minutes from incident identification
---
β NEXT STEPS
1. Assess impact β Check affected endpoints in your dashboard 2. Deploy workaround β Pick Option 1, 2, or 3 above 3. Monitor metrics β Track error rates on your real-time logs 4. Communicate β Notify users if images are degraded (be transparent) 5. Plan long-term β Consider redundant image service architecture
Stay calm. This is contained. You've got this.
βTeam StillNotAThing