Skip to main content

DNS Challenge

The DNS-01 challenge validates domain ownership by requiring you to add a specific DNS TXT record. This method works even if your server is not publicly accessible on port 80.

When to Use DNS-01

  • Your server is behind a NAT or firewall
  • Port 80 is already in use by another service
  • You want to issue wildcard certificates (*.example.com)
  • Your ISP blocks port 80

Process

Step 1: Start the Challenge

/zyveraweb acme start example.com dns

Step 2: Accept ToS

/zyveraweb acme tos

Step 3: Get DNS Record Details

The plugin displays the required TXT record:

Create DNS TXT:
_acme-challenge.example.com IN TXT <long-validation-string>

Step 4: Add the DNS Record

Log into your DNS provider's control panel and add a TXT record:

Field Value
Name _acme-challenge
Type TXT
Value The validation string displayed by the plugin
TTL 300 (5 minutes) or lower

Step 5: Wait for Propagation

DNS changes can take a few minutes to propagate. Use a tool like dig or an online DNS checker to verify:

dig _acme-challenge.example.com TXT +short

Step 6: Confirm

/zyveraweb acme confirm

The plugin will:

  1. Trigger the challenge
  2. Wait for Let's Encrypt to validate the DNS record
  3. Issue the certificate
  4. Save it to plugins/ZyveraWeb/ssl/<domain>/

Step 7: Enable HTTPS

Add an ssl: block to the site config in config.yml and run /zyveraweb server restart.

Troubleshooting

Issue Solution
DNS not propagating Wait longer, check TTL settings
Challenge failed Verify the TXT record value matches exactly
Multiple domains You may need multiple TXT records
Wildcard certificates Use *.example.com as the domain