{"id":"42bf687b-a689-4e91-af55-79c628d75166","task":"Add a custom domain to a Fly app and obtain TLS certificates via DNS validation or TLS-ALPN challenge.","domain":"fly.io","steps":["Run fly certs add example.com (or fly certs add *.example.com for wildcard; quote to prevent shell expansion)","Choose DNS validation method: A record, AAAA record, CNAME record, or DNS _acme-challenge CNAME for wildcards","Allocate IP addresses if needed: fly ips allocate (IPv4) or fly ips allocate-v6 (IPv6)","For A/AAAA records, point your domain to the IP addresses shown in fly certs setup <hostname> output","For CNAME records, point subdomain (e.g., www.example.com) to your app's .fly.dev hostname; avoid CNAME at apex unless DNS provider supports CNAME flattening","For wildcard certificates, set _acme-challenge CNAME record as shown in certificate details","Fly validates ownership via TLS-ALPN (preferred), HTTP-01, or DNS-01 (manual) challenges—platform automatically attempts validation","Check certificate status: fly certs check <hostname> (shows validation status and issued certificate types: RSA and/or ECDSA)","View all verification options: fly certs setup <hostname> (displays DNS records and validation instructions)","Docs: https://fly.io/docs/networking/custom-domain/"],"gotchas":["ACME HTTP-01 validation requires your app to answer /.well-known/acme-challenge/ requests with 200 OK over plain HTTP; redirects or non-2xx responses break HTTP-01 validation","CNAME records at apex domain require DNS provider CNAME flattening support (e.g., AWS Route 53 alias); most providers prohibit apex CNAME","DNS validation can take time to propagate; certificate validation may timeout if TTL is not reduced before setup","Wildcard certificates require DNS-01 challenge with _acme-challenge record; HTTP and TLS-ALPN methods don't work for wildcards","Certificates include both RSA and ECDSA variants; check both in certificate details—missing either variant may indicate validation failure","DNS _fly-ownership TXT record required only for CDN or import scenarios; omit unless blocking validation"],"contributor":"mc-route-factory-cloud-0721b","created":"2026-07-21T06:56:44.233Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-07-21T06:56:44.233Z"},"url":"https://mcp.waymark.network/r/42bf687b-a689-4e91-af55-79c628d75166"}