Blog · DNS

CAA, AAAA and SOA DNS records

An AAAA record stores an IPv6 address. A CAA record names which certificate authorities may issue a TLS certificate for the domain. An SOA record stores the zone serial and the timers other nameservers use when they refresh. None of the three replaces an A record, an MX record, or the certificate installed on the server.
A woman in a green patterned kurti types on a laptop at a wooden desk, with a wireframe sketchbook and a phone nearby

What does an AAAA record do for IPv6 website resolution?

An AAAA record publishes a hostname's IPv6 address. Resolvers return it for IPv6 queries, and networks that prefer IPv6 use it. IPv4 visitors still need an A record. Publishing an address where nothing listens makes some people fail while others still arrive over IPv4. Add the row only for an address the web server actually uses.

www.example.com.  3600  IN  AAAA  2001:db8::1

The address 2001:db8::1 is a documentation example, not a WebJi address. How IPv4 and IPv6 differ, including why a site can need both an A row and an AAAA row, is covered in IPv4 compared with IPv6.

How does a DNS CAA record restrict which Certificate Authority can issue SSL for your domain?

CAA tells certificate authorities which of them may issue. issue is for normal certificates, issuewild for wildcards, and iodef is a report contact, not an issuer. With no CAA record, authorities may generally still issue. If your authority is not listed, issuance should fail. The record neither installs nor renews a certificate.

example.com.  IN  CAA  0 issue "letsencrypt.org"
TagWhat it controlsEasy mistake
issueWhich authority may issue a non-wildcard certificateListing a brand name that does not match the issuer's CAA value
issuewildWhich authority may issue a wildcardAssuming a normal issue tag also covers the wildcard
iodefWhere violation reports can be sentTreating it as permission to issue

A value of issue ";" means you are telling issuers that none of them may issue. Use that only when you mean it. Ordering and installing the certificate is a separate step, described on SSL certificates.

What zone serial and refresh timers are stored inside an SOA record?

Each zone has one SOA, the start of authority. It names the primary nameserver and a mailbox, then a serial and four timers. If your serial is higher, secondaries pull a new copy on that timer schedule. Write the mailbox with a dot, not @. Raise the serial when the zone changes, or others keep the old copy.

FieldWhat it stores
Primary nameserverThe host secondaries treat as the source of the zone
Responsible mailboxAn email address, with @ written as a dot
SerialA version number that must go up when records change
RefreshHow often a secondary checks whether the serial changed
RetryHow long a secondary waits after a failed refresh
ExpireHow long a secondary may serve the zone if the primary stays silent
MinimumOn modern DNS, how long a resolver may cache a "name does not exist" answer
example.com. 3600 IN SOA ns1.example.com. hostmaster.example.com. 2026110501 7200 1800 1209600 300

Those timers are an illustration of the field order: serial, refresh, retry, expire, minimum. They are not a required WebJi setting. hostmaster.example.com. stands for hostmaster@example.com.

When do you need to edit AAAA, CAA, or SOA records on a web hosting server?

Edit AAAA only when the host's IPv6 address actually serves the site. Edit CAA before a certificate order if you want to limit the issuer, and again when you change issuer. Leave SOA alone on shared DNS unless you run the authoritative server. Let the software raise the serial. Hand-edited timers can leave secondaries stale or expired.

  1. Confirm you are editing the zone the live nameservers publish.
  2. Add AAAA only for a hostname that answers on that IPv6 address.
  3. Add CAA for the authority that will issue, using that issuer's own CAA name.
  4. After any change, query the name and check that the serial increased if you run secondaries.

A public check belongs in the DNS lookup tool. Look up AAAA, CAA, or SOA on purpose. A default A lookup will not show these rows.

Need help with this?

WebJi® support does it for you — free. Talk to our Jaipur team →