Record DNS wildcard: come funziona *.example.com
Un record chiamato *.example.com risponde per ogni sottodominio che non hai mai creato: blog, test, qualsiasi-cosa. Così un sottodominio per cliente o gli ambienti di anteprima diventano una riga sola. Ma così si risolvono anche gli errori di battitura, la posta viene invitata verso host inesistenti e un sottodominio dimenticato può finire a qualcun altro. Le regole su cosa corrisponde all'asterisco sono più rigide di quanto si pensi.
Come risponde un wildcard
Un resolver chiede un nome. Se la zona non lo contiene, il server cerca un record * presso il nome esistente più vicino e risponde come se il record fosse scritto per il nome richiesto (RFC 4592). Prendiamo questa zona:
; zone example.com
example.com. 3600 IN A 203.0.113.10
www.example.com. 3600 IN CNAME example.com.
shop.example.com. 3600 IN A 203.0.113.20
*.example.com. 3600 IN A 203.0.113.80| Richiesta | Risposta | Perché |
|---|---|---|
example.com A | 203.0.113.10 | L'apex non corrisponde mai a *.example.com. |
shop.example.com A | 203.0.113.20 | Il nome esiste, quindi il wildcard viene ignorato. |
blog.example.com A | 203.0.113.80 | Il nome non esiste: la risposta nasce da *. |
a.b.example.com A | 203.0.113.80 | Non esistono né b né a.b, quindi corrisponde comunque, su qualsiasi numero di etichette. |
shop.example.com MX | Nessun record (NODATA) | Il nome esiste. Il wildcard non aggiunge mai tipi che mancano a un nome reale. |
x.shop.example.com A | NXDOMAIN | Il nome esistente più vicino è shop e non c'è *.shop.example.com. |
Le regole che sorprendono
- I nomi esistenti non si toccano. Se
wwwha solo un CNAME, una richiesta TXT perwwwnon riceve nulla da*, anche se il wildcard ha un record TXT. - Un nome «esiste» anche senza record propri se qualcosa sta sotto di lui. Crea
api.dev.example.comedev.example.comcomincia a esistere:test.dev.example.comnon arriva più a*.example.com. - L'asterisco funziona solo come intera etichetta più a sinistra.
*.example.comè un wildcard;www.*.example.com,*-dev.example.come*abc.example.comsono nomi normali, letterali. - Un CNAME wildcard è ammesso, ma come ogni CNAME non può condividere il nome con altri record:
*.example.comCNAME più*.example.comMX non è valido. - Le risposte portano il nome richiesto, non
*. Il client non distingue una risposta del wildcard da un record reale; la svela solo il confronto con un nome casuale.
*.example.com copre blog.example.com, ma non a.b.example.com né example.com stesso. Che un wildcard DNS risolva nomi profondi non estende il certificato.Quando un wildcard è lo strumento giusto
- SaaS con un sottodominio per cliente (
acme.app.example): i nuovi clienti funzionano subito e l'applicazione sceglie dal headerHostquale cliente mostrare. - Ambienti di anteprima e di branch creati e distrutti in automatico, tutti dietro lo stesso load balancer.
- Un reindirizzamento pigliatutto che manda qualsiasi sottodominio digitato male al sito principale, se accetti gli effetti collaterali qui sotto.
I rischi
- Gli errori di battitura sembrano funzionare.
ww.example.comomial.example.comsi risolvono e arrivano a un server che può mostrare una pagina confusa invece di un errore chiaro. - Posta. Un
MXwildcard rende ogni sottodominio inventato una destinazione di posta valida, e gli spammer se ne accorgono; unAwildcard senza alcunMXfa lo stesso tramite il ripiego sul record A. Se il wildcard serve solo al web, pubblica su di esso un null MX e un SPF rigido. - Takeover di sottodominio. Un CNAME wildcard verso un servizio cloud (
*.example.com→example.azurewebsites.net) consegna ogni sottodominio non rivendicato a chi registra quella destinazione dopo che hai lasciato il servizio. - Errori nascosti. Un record cancellato continua a «funzionare» grazie al wildcard, quindi una migrazione fallita può passare inosservata finché il wildcard non viene rimosso.
; keep a web wildcard from inviting mail to every subdomain
*.example.com. 3600 IN MX 0 . ; RFC 7505 "null MX"
*.example.com. 3600 IN TXT "v=spf1 -all"Come verificare se un dominio ha un wildcard
Chiedi un nome che nessuno creerebbe. Se si risolve, c'è un wildcard (o una CDN o un provider DNS che sintetizza le risposte). Poi confronta con un sottodominio reale:
# a label that surely does not exist — answered by the wildcard?
dig +short pixdns-test-7f3a.example.com A
# compare with a name that does exist
dig +short shop.example.com ADomande frequenti
*.example.com copre example.com?
No. Il wildcard corrisponde ai nomi sotto il dominio, mai al dominio stesso. Tieni un record separato per l'apex.
*.example.com copre a.b.example.com?
Nel DNS sì, purché b.example.com non esista. Un certificato TLS wildcard, invece, copre un solo livello.
Perché il mio wildcard non funziona per un sottodominio?
Perché quel nome, o un nome sotto di esso, esiste nella zona. Un nome esistente non riceve mai risposte dal wildcard, nemmeno per i tipi che non ha.
Posso usare un wildcard per MX o TXT?
Sì, qualsiasi tipo di record può essere wildcard. Un MX wildcard raramente è una buona idea; un null MX wildcard e v=spf1 -all sono una protezione comune.
Vedi la teoria in pratica: esegui Ricerca DNS sul tuo dominio.
Aggiornato il 13 ottobre 2026