Guide
Enable and Verify AutoSSL (Let’s Encrypt) for a cPanel Account
Step‑by‑step guide to enable AutoSSL with Let’s Encrypt on a cPanel account, verify certificates, and handle common failures.
Published by Tasadduq Burney
07 Aug 2025, 22:42 UTC
4 min90.5K views0

Desired outcome
The primary domain (e.g., example.com) and every configured subdomain serve HTTPS with a valid Let’s Encrypt certificate issued through cPanel’s AutoSSL feature. Browsers show a padlock with no mixed‑content warnings, and the certificate renews automatically before its 90‑day expiry.
Prerequisites
- WHM root or reseller access – AutoSSL must be enabled globally and the Let’s Encrypt provider selected (WHM → Manage AutoSSL → Providers → Let’s Encrypt enabled).
- cPanel account with the target domain already added – The domain and any subdomains must exist in the account’s Domains interface.
- DNS resolves to the server – A/AAAA records for each domain point to the server’s public IP at issuance time.
- Port 80 open for HTTP‑01 challenges – Firewall/CSF must allow inbound TCP 80 to the server.
- No blocking rules for
/.well-known/acme-challenge/– Custom Apache includes,.htaccessdeny rules, or Cloudflare “orange‑cloud” proxying will cause validation to fail.
Procedure
- Log in to the cPanel account that owns the domain.
- Open SSL/TLS Status (cPanel → Security → SSL/TLS Status).
- Confirm the primary domain and each desired subdomain appear in the list. For every row, check the Include during AutoSSL checkbox.
- Click Run AutoSSL. The request is queued; processing usually finishes in under two minutes.
- When the queue completes, inspect each row:
- Valid with a green lock → success.
- Pending or Failed → click the View Log link for that domain to see the error detail.
- For a successful domain, click the certificate link (the “Certificate” column) to view the issuer, validity dates, and SAN list.
Expected checks
- cPanel UI – SSL/TLS Status shows a green “Valid” badge for every domain; the Issuer column reads
R3(Let’s Encrypt) and Valid To is roughly 90 days forward. - Browser verification – Visit
https://example.comand each subdomain (e.g.,https://blog.example.com). The padlock appears with no mixed‑content warnings. - Command‑line TLS inspection (run from any host with
opensslinstalled):
The output should display the same certificate chain, expiry date, and issueropenssl s_client -connect example.com:443 -servername example.comR3. - HTTP header check (optional, requires
curl):
Expectcurl -I https://example.comHTTP/2 200and, if HSTS is enabled, aStrict-Transport-Securityheader. - WHM AutoSSL logs – In WHM → Manage AutoSSL → Logs, the most recent run for the user should contain a line such as
AutoSSL completed successfullyorAutoSSL renewed. - External SSL test – Run the domain through SSL Labs (or similar) to confirm full chain, TLS 1.2/1.3 support, and absence of known vulnerabilities.
Recovery options
| Failure mode | Remediation steps |
|---|---|
| DNS mismatch (domain does not resolve to server IP) | Correct the A/AAAA records, wait for propagation, then re‑run AutoSSL from cPanel or WHM → Manage AutoSSL → Re‑run AutoSSL for all users. |
.htaccess or Apache include blocks /.well-known/acme-challenge/ |
Temporarily rename .htaccess (e.g., mv .htaccess .htaccess.bak), run AutoSSL, then restore the file with an explicit allow rule:
|
| Let’s Encrypt rate limit hit (5 certs/week per registered domain) | In WHM → Manage AutoSSL → Providers, switch the provider to cPanel (Sectigo), run AutoSSL once, then switch back to Let’s Encrypt. The limit resets after 7 days. |
| Cloudflare (or other proxy) orange‑cloud enabled | Disable proxy for the affected hostname (grey cloud) during issuance, or configure a DNS‑01 plugin (e.g., Cloudflare API) in WHM → Manage AutoSSL → Providers → Let’s Encrypt DNS. |
| Corrupted vhost SSL entry | In cPanel → SSL/TLS → Manage SSL Sites, delete the problematic virtual host, then re‑run AutoSSL. |
Version notes & limitations
- cPanel 110+ ships with Let’s Encrypt as the default AutoSSL provider. Versions prior to 90 defaulted to the cPanel (Sectigo) provider.
- The UI path SSL/TLS Status replaced the legacy SSL/TLS Wizard in cPanel 92.
- Let’s Encrypt via AutoSSL only supports the HTTP‑01 challenge. Wildcard certificates require DNS‑01; they are not issued unless a DNS plugin (e.g., Cloudflare, Route 53) is configured in WHM.
- AutoSSL runs nightly via a system cron. Successful renewal appears in WHM logs as
AutoSSL renewed. If the nightly run shows errors, investigate the corresponding domain’s log in cPanel. - Rate limits: 50 certificates per registered domain per week (Let’s Encrypt). Exceeding this blocks issuance for the remainder of the week.
Quick verification checklist
- ✅ cPanel SSL/TLS Status – green “Valid” for all domains.
- ✅ Issuer =
R3, expiry ≈ 90 days out. - ✅ Browser padlock on
https://example.comand each subdomain. - ✅
openssl s_clientmatches UI details. - ✅ WHM AutoSSL log shows recent successful run.
- ✅ SSL Labs grade A or better.
Following these steps gives you a fully automated, Let’s Encrypt‑backed TLS setup for a cPanel account with minimal ongoing maintenance.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.