How to Set Up a Wildcard SSL Certificate in Plesk with Let's Encrypt (Free & Paid)

Priya

Content Writer & Researcher

Last Updated: 8 October 2026
How to Set Up a Wildcard SSL Certificate in Plesk with Let's Encrypt (Free & Paid)
πŸ–₯️

Need Expert Help Managing SSL Certificates on Your Server?

CloudHouse Technologies handles wildcard SSL setup, auto-renewal configuration, HSTS enforcement, and TLS hardening so your subdomains never go dark. Let our team manage it for you.

πŸ–₯️12,400+PCs Fixed
⭐4.9β˜…Google Rating
⚑<15 minAvg. Response
πŸ›‘οΈISO 27001Certified

If you run multiple subdomains on a single server, managing individual SSL certificates for each one is a maintenance nightmare β€” different expiry dates, manual renewals, and the ever-present risk of a forgotten certificate taking a subdomain offline at 2 a.m. Plesk wildcard SSL certificate setup solves this by issuing one certificate that covers every first-level subdomain under your domain, and this guide walks you through every step: issuance, application, DNS challenge handling, HSTS, and TLS hardening. Whether you use the free Let's Encrypt path or a paid commercial certificate, the process is the same inside Plesk β€” the differences lie in validation and renewal automation.

What Is a Wildcard SSL Certificate and When You Need One in Plesk

A wildcard SSL certificate is issued for *.yourdomain.com and is cryptographically valid for any hostname one level deep under that apex: app.yourdomain.com, api.yourdomain.com, shop.yourdomain.com, mail.yourdomain.com, and so on β€” all covered by a single certificate file.

When you need one:

  • You run three or more subdomains on the same server and want a single renewal event instead of staggered individual expirations.
  • You provision subdomains dynamically (staging environments, client tenants, feature branches) and cannot predict hostnames in advance.
  • You are consolidating several Plesk-hosted sites and want unified SSL management without purchasing per-domain certificates.

What a wildcard does NOT cover:

  • The root domain itself (yourdomain.com) β€” you must add it as a Subject Alternative Name (SAN) alongside *.yourdomain.com.
  • Second-level subdomains such as dev.app.yourdomain.com β€” these require their own certificate or a second wildcard.

For most Plesk operators running a managed hosting stack, a single wildcard covering *.yourdomain.com and yourdomain.com is sufficient. If your infrastructure is more complex, a managed server management service can design a certificate architecture that matches your subdomain topology without gaps.

Prerequisites: DNS Control and Let's Encrypt Extension in Plesk

1. DNS Control

Wildcard certificates require DNS-01 challenge validation. Unlike HTTP-01 (which writes a file to /.well-known/acme-challenge/), DNS-01 requires you to create a TXT record at _acme-challenge.yourdomain.com. This means:

  • DNS hosted in Plesk: Plesk can automate everything. The Let's Encrypt extension writes the TXT record, validates, and removes it automatically.
  • DNS hosted externally (Cloudflare, Route 53, GoDaddy, etc.): Plesk cannot touch your DNS zone. You must manually create the TXT record during issuance or install a Certbot DNS API plugin. See Section 6 for the full fix.

2. Let's Encrypt Extension Installed

In Plesk, go to Tools & Settings β†’ Updates and Upgrades β†’ Add/Remove Components and confirm the Let's Encrypt extension is installed. Alternatively, open the Extensions catalogue, search for "Let's Encrypt", and click Install. The extension is free.

3. Plesk Version

Wildcard certificate issuance via Let's Encrypt has been supported since Plesk Obsidian 18.0.22. Run plesk version in SSH to confirm your build is current.

4. Outbound Port 443 to ACME Servers

Verify connectivity to Let's Encrypt:

curl -I https://acme-v02.api.letsencrypt.org/directory

A 200 OK response confirms connectivity. If blocked, open port 443 outbound in your firewall before proceeding.

πŸ’‘ None of these worked? Skip the guesswork.

Get Expert Help β†’

Issuing a Free Let's Encrypt Wildcard Certificate via Plesk UI

1Open the Domain's SSL/TLS Panel

Log in to Plesk, navigate to Websites & Domains, and locate your primary domain. Click SSL/TLS Certificates. If the Let's Encrypt extension is installed, you will see a blue Get it free button or a dedicated Let's Encrypt tab.

2Enter Certificate Details

Click the Let's Encrypt option. In the certificate request form, enter your email address and check the following domain entries:

  • yourdomain.com β€” the root domain
  • *.yourdomain.com β€” the wildcard, covering all first-level subdomains
3Choose DNS-01 Validation

Plesk will detect that a wildcard requires DNS-01 and prompt accordingly. If your DNS is managed in Plesk, select Use DNS challenge and click Get it free. Plesk creates the _acme-challenge TXT record, validates with Let's Encrypt, obtains the certificate, and removes the TXT record β€” all automatically within 30–60 seconds.

If your DNS is external, Plesk will display the required TXT record value. Copy it, log in to your DNS provider, create the record manually, wait for propagation (typically 2–5 minutes), then return to Plesk and click Validate.

4Confirm Issuance

Upon success, the SSL/TLS panel shows your new certificate with a validity date 90 days out, covering both yourdomain.com and *.yourdomain.com as SANs. Plesk automatically assigns this certificate to the primary domain's Apache/Nginx virtual host.

1Navigate to the Subdomain's Hosting Settings

Go to Websites & Domains, expand your domain, and click the subdomain (e.g., app.yourdomain.com). Open Hosting Settings.

2Select the Wildcard Certificate

In the Security section, find the SSL/TLS certificate dropdown. Select the wildcard certificate you just issued. Click OK to save.

3Enable SSL/TLS

Ensure the SSL/TLS support checkbox is ticked. Plesk will reconfigure the Nginx and Apache virtual host for the subdomain to serve the wildcard certificate.

4Repeat for Each Subdomain, or Automate via CLI

For servers with many subdomains, automate with the Plesk CLI:

# List all subdomains
plesk bin subdomain --list -domain yourdomain.com

# Apply the certificate to a subdomain
plesk bin subdomain -u app -domain yourdomain.com   -ssl true   -certificate-name "yourdomain.com (Let's Encrypt)"
5Verify Each Subdomain
curl -vI https://app.yourdomain.com 2>&1 | grep -E "subject:|issuer:|expire"

The output should show subject: CN=*.yourdomain.com and an expiry 90 days from issuance.

1Open SSL/TLS Certificates for the Domain

Go to Websites & Domains β†’ your domain β†’ SSL/TLS Certificates.

2Enable HSTS

Scroll to the Advanced Settings section. Check Enable HTTP Strict Transport Security (HSTS) and set:

  • Max-age: 31536000 (one year β€” minimum for HSTS preload list eligibility)
  • Include subdomains: checked
  • Preload: checked only if you intend to submit to the HSTS preload list

Click OK. Plesk injects the Strict-Transport-Security header into Nginx's server block.

Warning: Once HSTS is live with a long max-age, browsers will refuse HTTP connections for the duration of the policy β€” even if you remove the header later. Only enable this when you are certain SSL will remain on all subdomains permanently.

Enforcing TLS 1.2 and TLS 1.3 via CLI

# Disable TLS 1.0 and 1.1, keep 1.2 and 1.3
plesk bin server_pref --update -ssl-protocols "TLSv1.2 TLSv1.3"

# Set a strong cipher suite (TLS 1.2 fallback)
plesk bin server_pref --update -ssl-ciphers   "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384"

# Restart web services
plesk bin service_node --restart sw-nginx
plesk bin service_node --restart sw-cp-server

Run your domain through SSL Labs to confirm the A+ rating.

Fixing Auto-Renewal Failures for External DNS Wildcard Certificates

This is the most common pain point: issuance works, but 60 days later the auto-renewal silently fails because Plesk cannot update the _acme-challenge TXT record in your external DNS provider.

Why It Fails

Let's Encrypt requires a fresh DNS-01 challenge for every renewal. If Plesk does not have API access to your DNS zone, it cannot complete the challenge. The renewal job fails, logs an error in /var/log/plesk/panel.log, and sends an email that is easy to miss. The certificate eventually expires and HTTPS breaks across all subdomains simultaneously.

Fix Option 1: Install a Certbot DNS API Plugin

Example for Cloudflare:

pip3 install certbot-dns-cloudflare

mkdir -p /etc/letsencrypt/dns-credentials
cat > /etc/letsencrypt/dns-credentials/cloudflare.ini << 'EOF'
dns_cloudflare_api_token = YOUR_CLOUDFLARE_API_TOKEN
EOF
chmod 600 /etc/letsencrypt/dns-credentials/cloudflare.ini

# Test renewal
certbot renew --dns-cloudflare   --dns-cloudflare-credentials /etc/letsencrypt/dns-credentials/cloudflare.ini   --dry-run

For Route 53, use certbot-dns-route53; for GoDaddy, certbot-dns-godaddy.

Fix Option 2: Monitor and Renew Manually

Set a calendar reminder 30 days before expiry and reissue via the Plesk UI, manually updating the TXT record as you did during initial issuance. Simple but requires discipline.

Monitoring Renewal Health

grep -i "let.s encrypt\|certbot\|renewal" /var/log/plesk/panel.log | tail -50

Set up an external SSL expiry monitor pointed at one of your subdomains, with an alert at 21 days remaining.

If managing this renewal pipeline sounds like work you would rather not own, a managed server management service can take over certificate lifecycle management entirely β€” issuance, renewal automation, expiry monitoring, and incident response.

FAQs

Can I use a Let's Encrypt wildcard certificate for all subdomains in Plesk?

Yes. A wildcard certificate issued for *.yourdomain.com covers all first-level subdomains. It does not cover the root domain or second-level subdomains, so include both *.yourdomain.com and yourdomain.com as SANs when requesting the certificate.

Why does my Let's Encrypt wildcard certificate fail to auto-renew in Plesk?

Wildcard renewal requires DNS-01 challenge validation. If your DNS is hosted externally, Plesk cannot create the required _acme-challenge TXT record automatically. Install a Certbot DNS API plugin for your provider or use a pre-renewal hook script to automate the TXT record update.

Does a wildcard SSL certificate cover the root domain?

*.yourdomain.com does not cover yourdomain.com. Always request both as SANs in the same certificate to protect the root domain and all subdomains with a single file.

How do I enable HSTS in Plesk?

Go to Websites & Domains β†’ SSL/TLS Certificates β†’ Advanced Settings, check Enable HTTP Strict Transport Security (HSTS), set max-age to 31536000, and enable Include subdomains. This injects the required header into Nginx's server block for the domain.

Is Let's Encrypt wildcard support free in Plesk?

Yes. The Let's Encrypt Plesk extension is free and wildcard issuance is included at no cost. The only hard requirement is DNS-01 challenge support, meaning you must control the DNS zone for the domain being certified.

A properly configured wildcard SSL certificate in Plesk eliminates an entire category of certificate-expiry incidents β€” one certificate, one renewal event, and uniform TLS protection across every subdomain. Done correctly, with HSTS enabled and TLS restricted to 1.2/1.3, you get an A+ on SSL Labs and the peace of mind that no subdomain will go dark due to a forgotten renewal. If any step in this process adds complexity β€” multi-server stacks, external DNS providers, or legacy TLS dependencies β€” CloudHouse's managed server management service can audit your current certificate posture and implement the full hardened configuration for you.

Get the Free Linux Server Admin Cheatsheet (PDF)

Essential commands for server management, networking, and troubleshooting β€” all on one printable page.

Running Linux servers? Let us manage them for you.

Our Managed Linux Server plans cover updates, security hardening, monitoring, and 24/7 incident response β€” so your servers stay up and your team stays focused.

  • Proactive OS patching and security updates
  • 24Γ—7 monitoring with instant alerting
  • Backup configuration and disaster recovery
  • Dedicated Linux engineers on call
See Pricing Plans β†’

What our customers say

β€œOur production server went down at 2 AM. CloudHouse had it back online in under 20 minutes. Incredible response time.”

Arun S.

CTO, SaaS Startup

β€œThey migrated our entire infrastructure from Ubuntu 18 to 22 with zero downtime. Couldn't have asked for better.”

Deepak N.

DevOps Lead

Frequently Asked Questions

Yes. A wildcard certificate issued for *.yourdomain.com covers all first-level subdomains such as app.yourdomain.com, mail.yourdomain.com, and shop.yourdomain.com. It does not cover the root domain or second-level subdomains, so include both *.yourdomain.com and yourdomain.com as SANs when requesting the certificate.

Need this done for you?

Server Hardening and Security

Lock down your servers, SSL and firewalls with certified engineers.

Learn more

Book your free 15-minute diagnosis

A certified technician will call you back within 15 minutes during business hours.

Share this article

Leave a Comment

Comments (0)

Loading comments...