Vi presentiamo PostScale -- API email per invii transazionali, ricezione e indirizzi mascherati. PostScale

    Record CNAME spiegati

    Scopri come funzionano i record CNAME, le loro limitazioni e quando utilizzarli. Include esempi per la dashboard e l'API di DNScale.

    Un record CNAME (Canonical Name) crea un alias da un nome di dominio a un altro. Invece di puntare a un indirizzo IP, un CNAME punta a un altro nome di dominio, che viene poi risolto per ottenere l'indirizzo IP finale.

    Come funzionano i record CNAME

    Quando un resolver DNS incontra un record CNAME, segue l'alias per trovare l'indirizzo IP effettivo:

    blog.example.com.    3600    CNAME    example.com.
    example.com.         3600    A        192.0.2.1

    Flusso della query:

    1. Il client richiede blog.example.com
    2. Il DNS restituisce un CNAME che punta a example.com
    3. Il DNS quindi risolve example.com in 192.0.2.1
    4. Il client si connette a 192.0.2.1

    Casi d'uso comuni

    Alias per sottodomini

    Punta più sottodomini alla stessa destinazione:

    www.example.com.     3600    CNAME    example.com.
    blog.example.com.    3600    CNAME    example.com.
    shop.example.com.    3600    CNAME    example.com.

    Integrazione CDN

    Punta il tuo dominio a un provider CDN:

    www.example.com.    3600    CNAME    d1234.cloudfront.net.
    static.example.com. 3600    CNAME    example.b-cdn.net.

    Integrazione con servizi cloud

    Punta i sottodomini a piattaforme cloud:

    app.example.com.    3600    CNAME    myapp.herokuapp.com.
    docs.example.com.   3600    CNAME    example.gitbook.io.

    Verifica servizi email

    Molti servizi email richiedono record CNAME:

    em1234.example.com. 3600    CNAME    u1234.wl.sendgrid.net.

    Formato del record

    CampoDescrizioneEsempio
    NomeSottodominio da creare come aliaswww, blog, api
    TipoTipo di recordCNAME
    ContenutoNome di dominio di destinazioneexample.com.
    TTLTime to live (secondi)3600

    Limitazioni importanti

    1. Non utilizzabile al dominio apex/root

    I record CNAME non possono essere utilizzati al dominio root (apex):

    # NON CONSENTITO
    example.com.    CNAME    other.com.
     
    # CONSENTITO
    www.example.com.    CNAME    other.com.

    Per i domini apex, usa invece i record ALIAS.

    2. Deve essere l'unico record per quel nome

    Un CNAME non può coesistere con altri tipi di record allo stesso nome:

    # NON CONSENTITO - conflitto con CNAME
    www.example.com.    CNAME    example.com.
    www.example.com.    TXT      "verification=abc123"
     
    # CONSENTITO - CNAME è l'unico record
    www.example.com.    CNAME    example.com.

    3. Aggiunge latenza di lookup

    Ogni CNAME introduce un lookup DNS aggiuntivo, che può aumentare la latenza. Per applicazioni dove le prestazioni sono critiche, considera l'uso diretto di record A/AAAA.

    Aggiungere un record CNAME

    Tramite la dashboard

    1. Vai alla tua zona nella dashboard di DNScale
    2. Clicca Add Record
    3. Configura il record:
      • Name: Inserisci il sottodominio (es. www, blog)
      • Type: Seleziona CNAME
      • Value: Inserisci il nome di dominio di destinazione
      • TTL: Imposta la durata della cache (predefinito: 3600)
    4. Clicca Create Record

    Tramite l'API

    Crea un record CNAME:

    curl -X POST "https://api.dnscale.eu/v1/zones/{zone_id}/records" \
      -H "Authorization: Bearer YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "name": "www",
        "type": "CNAME",
        "content": "example.com",
        "ttl": 3600
      }'

    Punta un sottodominio al CDN:

    curl -X POST "https://api.dnscale.eu/v1/zones/{zone_id}/records" \
      -H "Authorization: Bearer YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "name": "cdn",
        "type": "CNAME",
        "content": "d1234567.cloudfront.net",
        "ttl": 3600
      }'

    Risposta API:

    {
      "status": "success",
      "data": {
        "message": "Record created successfully",
        "record": {
          "id": "encoded-record-id",
          "name": "www.example.com.",
          "type": "CNAME",
          "content": "example.com.",
          "ttl": 3600,
          "disabled": false
        }
      }
    }

    Best practice

    1. Usa i punti finali - Il dominio di destinazione dovrebbe tecnicamente terminare con un punto (es. example.com.), anche se DNScale lo gestisce automaticamente

    2. Controlla i conflitti - Assicurati che non esistano altri record allo stesso nome del CNAME

    3. Considera attentamente il TTL - Usa TTL più brevi se la destinazione potrebbe cambiare (es. durante migrazioni CDN)

    4. Non concatenare troppi CNAME - Sebbene il DNS consenta catene di CNAME, queste aggiungono latenza e complessità

    5. Usa ALIAS per l'apex - Se hai bisogno di un comportamento simile a CNAME al dominio root, usa i record ALIAS

    CNAME vs ALIAS vs record A

    CaratteristicaCNAMEALIASA
    Punta aNome di dominioNome di dominioIndirizzo IP
    Funziona all'apexNoSiSi
    Può coesistere con altri recordNoSiSi
    Lookup DNS aggiuntivoSiNo (risolto all'autoritativo)No

    Testare i record CNAME

    Verifica il tuo record CNAME con dig:

    dig CNAME www.example.com
     
    # Segui la catena per ottenere l'IP finale
    dig +trace www.example.com

    Tipi di record correlati

    • A - Mappatura diretta IPv4
    • AAAA - Mappatura diretta IPv6
    • ALIAS - Comportamento simile a CNAME per i domini apex

    Conclusione

    I record CNAME sono preziosi per semplificare la gestione DNS, specialmente quando si integrano servizi di terze parti. Comprendere le loro limitazioni — in particolare riguardo ai domini apex e alla coesistenza dei record — ti aiuta a fare la scelta giusta tra CNAME, ALIAS e record A/AAAA diretti.