UnderHost
Knowledgebase Docs

Free SSL certificates in aaPanel-Let's Encrypt

Issue and renew free Let's Encrypt SSL certificates per website in aaPanel. Force HTTPS, troubleshoot issuance failures, and install custom paid SSL certificates.

On this page

aaPanel integrates Let's Encrypt for free, automatic SSL certificates. You issue them per website from the site's SSL settings. Certificates auto-renew before expiry-no manual intervention needed once issued.

Before issuing SSL

Let's Encrypt validates that you control the domain by making an HTTP request to it. Before issuing:

  • The domain's A record must point to this server's IP address
  • DNS must have propagated-use the DNS Check tool to verify
  • Port 80 must be open in the aaPanel firewall (it is open by default)
  • The domain must be added to the website in aaPanel

Issue a Let's Encrypt certificate

  1. Open site SSL settings

    Log in to aaPanel, go to Website, find your site in the list, and click the site name to open its settings. Click the SSL tab.

  2. Choose Let's Encrypt

    Click the Let's Encrypt tab in the SSL section.

  3. Select domains

    All domains associated with the site are listed. Ensure both yourdomain.com and www.yourdomain.com are checked if you want both covered by the same certificate.

  4. Apply

    Click Apply. aaPanel requests and installs the certificate. This takes 15–30 seconds if DNS is pointing correctly. A green checkmark confirms success.

Force HTTPS

After SSL is issued, enable the HTTPS redirect in the same SSL settings panel:

  • Toggle Force HTTPS to on-aaPanel adds the redirect to the site's Nginx or Apache config automatically

For WordPress, also update the site address to HTTPS in WordPress admin → Settings → General.

Certificate renewal

Let's Encrypt certificates last 90 days. aaPanel automatically renews them via a scheduled task. You do not need to manually renew.

To check renewal status: aaPanel → Website → your site → SSL → the expiry date is shown. If auto-renewal has failed, re-issue the certificate manually using the steps above.

Custom SSL certificate

If you have a purchased SSL certificate:

  1. Go to Website → your site → SSL → Other certificate
  2. Paste the certificate content (PEM format) into the Certificate field
  3. Paste the private key into the Private key field
  4. Click Save

Troubleshoot SSL failures

The domain is not pointing to this server. Run dig yourdomain.com A +short from SSH and confirm the output is this server's IP. Wait for DNS propagation and retry. Also verify port 80 is open in the aaPanel firewall: aaPanel → Security → Firewall.
Mixed content-some page resources are still loading over HTTP. See Fixing mixed content warnings. For WordPress, use the Better Search Replace plugin to update HTTP references in the database, or install the Really Simple SSL plugin.
Set Cloudflare DNS to "DNS only" (grey cloud) while issuing the certificate. Re-enable the proxy after the certificate is installed. Then set Cloudflare SSL/TLS mode to "Full (strict)" in Cloudflare dashboard.

Related: Configure DNS records for aaPanel sites | Create a website in aaPanel | Fix SSL certificate errors | SSL certificates explained | Fixing mixed content warnings

Was this article helpful?

Need aaPanel hosting?

Install aaPanel on an UnderHost VPS or dedicated server when you want a simple web interface for sites, databases, SSL, and apps.

Related articles

Back to aaPanel