Features Pricing Docs Blog Log In Get Started Free

SSL Certificate Troubleshooting

SSL Certificate Issues on BlitzPress

BlitzPress uses acme.sh with Let’s Encrypt to automatically provision and renew SSL certificates. When SSL fails, it is almost always a DNS or port accessibility issue.

Prerequisite: DNS Must Point to Your Server

Let’s Encrypt validates domain ownership via HTTP challenge on port 80. Your domain’s A record must point to your BlitzPress server IP before requesting SSL.

dig +short YOUR_DOMAIN
# Should return your server IP

Check acme.sh Logs

View the SSL issuance log:

cat /root/.acme.sh/YOUR_DOMAIN/YOUR_DOMAIN.log

Or re-issue with debug output:

blitzpress ssl:install YOUR_DOMAIN --debug

Common Issues

Error Cause Fix
DNS problem: NXDOMAIN Domain not pointed to server Add A record pointing to server IP
Connection refused Port 80 blocked by firewall sudo ufw allow 80/tcp
Too many certificates Rate limit hit (5 per week) Wait 7 days or use staging endpoint
Invalid response Cloudflare proxy intercepting Pause Cloudflare or use DNS challenge

Cloudflare Proxy Conflicts

If you use Cloudflare with the orange cloud (proxy) enabled, the HTTP challenge may fail because Cloudflare intercepts the request. Solutions:

  • Temporarily disable proxy — set DNS to grey cloud, issue cert, re-enable proxy
  • Use Cloudflare’s origin certificate — install via BlitzPress panel, set SSL mode to Full (Strict)

Renewal Failures

Certificates renew automatically via cron. Check the cron job:

crontab -l | grep acme

Force a renewal:

blitzpress ssl:renew YOUR_DOMAIN

Manual Certificate Installation

If you have a certificate from another provider:

blitzpress ssl:custom YOUR_DOMAIN /path/to/cert.pem /path/to/key.pem