SOP: Add a New myfoodfast.co.uk Subdomain (Cloudflare → Firebase → Edge)
Goal
Bring SUBDOMAIN.myfoodfast.co.uk live via Cloudflare edge with Firebase Hosting, no downtime.
1) Verify & Provision on Firebase (grey-cloud first)
- In Firebase Hosting → Sites → Domains, click Add custom domain → enter
SUBDOMAIN.myfoodfast.co.uk. - In Cloudflare → DNS, create one record (temporary for verification):
- Type: CNAME
- Name:
SUBDOMAIN - Target:
mff-live.web.app - Proxy status: DNS only (grey cloud)
- Back in Firebase, click Verify and wait until the domain shows Connected / SSL: Provisioned.
Pitfalls to check
- Remove any existing A/AAAA records for this host.
- Keep exactly one CNAME during verification and make sure it’s DNS only.
2) Flip to the Cloudflare Edge
Edit the same DNS record in Cloudflare:
- Target:
edge.myfoodfast.co.uk - Proxy status: Proxied (orange cloud)
(No changes needed in Firebase at this step.)
3) Set Edge Behaviour (once per zone; confirm exists)
-
Origin Rule (Cloudflare → Rules → Origin Rules): If Hostname matches
*.myfoodfast.co.uk→ Origin hostname:mff-live.web.app(HTTP Host Header:mff-live.web.appor “pass through” if already working) -
Cache Rules:
-
If
Acceptcontainstext/html→ Bypass cache -
If path matches
*.js,*.css,*.png,*.jpg,*.svg,*.woff2→ Cache: Cache Everything (long TTL; rely on filename versioning) -
Security:
-
SSL/TLS mode Full (strict)
-
Do not enable “Under Attack Mode” or global JS challenges on public paths
4) Validate & Hand-off
Verify
- Browser: open
https://SUBDOMAIN.myfoodfast.co.uk(check lock icon is valid) - Header check:
curl -I https://SUBDOMAIN.myfoodfast.co.uk
Confirm you see cf-ray/cf-cache-status headers and a 200/301/302 as expected.
If someone still sees “Site Not Found”
- Ask them to clear Chrome host cache:
chrome://net-internals/#dns→ Clear; then#sockets→ Flush.
Record the change
- Note: date/time, subdomain, who verified, and screenshot of Firebase SSL: Provisioned.
Rollback (if needed)
- In Cloudflare DNS, change Target back to
mff-live.web.appand set DNS only. - Clear Cloudflare cache for the host (optional).
Quick Template (replace SUBDOMAIN)
- DNS record (verify phase)
Name: SUBDOMAIN
Type: CNAME
Target: mff-live.web.app
Proxy: DNS only
- DNS record (live edge)
Name: SUBDOMAIN
Type: CNAME
Target: edge.myfoodfast.co.uk
Proxy: Proxied