🌐
CDN Simulator
Deploy a functional CDN edge node in Azure for integration testing with F5 Distributed Cloud.
What This Provides
Section titled “What This Provides”- Single Edge Node — One Ubuntu 24.04 VM running NGINX as a caching reverse proxy, the minimum viable CDN edge
- Terraform Deployment — Complete Azure infrastructure as code: VNet, PIP, NSG, and VM with cloud-init provisioning
- 67+ CDN Vendor Headers — Simulates Akamai, Cloudflare, CloudFront, Fastly, and Azure Front Door request headers including True-Client-IP, CF-Connecting-IP, geolocation, device detection, JA3/JA4 fingerprints, and bot scores
- Origin Integration — Configure the edge to forward cache misses to an F5 XC HTTP load balancer as the origin
- Cache Verification — Validate HIT/MISS behavior with X-Cache-Status headers and NGINX cache inspection
Quick Reference
Section titled “Quick Reference”After deployment, the CDN edge node exposes:
| Endpoint | Method | Purpose |
|---|---|---|
http://<PUBLIC_IP>/health | GET | Health check — returns JSON with component status and vendor profiles |
http://<PUBLIC_IP>/ | GET | CDN proxy — caches and forwards requests to the origin server |
http://<PUBLIC_IP>/<any-path> | GET | CDN proxy — all paths are proxied with caching and vendor headers |
Response headers added to every proxied response:
| Header | Example | Purpose |
|---|---|---|
X-Cache-Status | HIT or MISS | Whether response was served from cache |
X-CDN-Edge | cdn-simulator | Identifies this edge node |
X-CDN-POP | SJC | Simulated Point of Presence code |
X-Served-By | cache-sjc3120-SJC | Simulated cache node identifier |
X-Request-ID | UUID | Unique per-request identifier |
Documentation Guide
Section titled “Documentation Guide”| Page | Audience | Purpose |
|---|---|---|
| Overview | Human + AI | Architecture, multi-vendor context, what this simulates |
| Prerequisites | AI | Required tools, Azure subscription, SSH keys, cost estimate |
| Deploy | AI | Complete Terraform HCL — copy and apply to deploy |
| NGINX Configuration | Human + AI | All 67+ CDN vendor headers with exact values and purposes |
| Verify | AI | Smoke test commands with expected request/response behavior |
| Integrate with F5 XC | Human + AI | Connect edge to F5 XC as origin, end-to-end verification |
| Teardown | AI | Destroy all resources, cleanup commands |