Enable SSL for a Site
Enable SSL with Let’s Encrypt:DNS Verification
Before requesting a certificate:
- Ensure
example.comis pointing to your server’s IP - Ensure
www.example.comis also pointing to your server (for root domains) - Wait for DNS propagation (can take up to 48 hours)
Email Registration
You’ll be prompted for an email address (first time only):This email receives renewal notifications.
Certificate Issuance
Webinoly automatically:
- Requests certificate from Let’s Encrypt
- Validates domain ownership
- Installs certificate
- Configures NGINX for HTTPS
- Sets up HTTP to HTTPS redirect
Firewall Requirements
SSL Configuration Details
When SSL is enabled, Webinoly automatically:NGINX Configuration
- Changes listen ports from 80 to 443
- Enables SSL and HTTP/3 (QUIC)
- Adds SSL certificate paths
- Includes HTTPS security headers
- Creates HTTP to HTTPS redirect
Security Features
- TLS 1.2 and 1.3 only
- Strong cipher suites
- OCSP stapling
- HSTS headers
- HTTP/3 support
Subdomain SSL
Enable SSL for a subdomain:Wildcard Certificates
Create a wildcard certificate that covers all subdomains:example.com*.example.com(all first-level subdomains)
Manual DNS Validation
During wildcard certificate creation:-
Let’s Encrypt provides a TXT record:
- Add this TXT record to your DNS
- Wait for DNS propagation
- Press Enter to continue validation
Add Site to Existing Wildcard
Add a subdomain to an existing wildcard certificate:- Wildcard certificate must already exist for
example.com - Only first-level subdomains are supported
- No additional validation required
Parked and Mapped Domains
For parked or mapped domains, specify the main domain:example.com for SSL validation.
Reverse Proxy SSL
For reverse proxy sites with custom root path:Manual Certificate Validation
For advanced scenarios, use manual validation:- HTTP Challenge
- DNS Challenge
Custom SSL Certificates
Use your own SSL certificates (e.g., from a commercial CA):- Are marked in NGINX config with
# WebinolySSLCustomCert - Don’t auto-renew (you manage renewal)
- Can be from any certificate authority
Certificate Renewal
Automatic Renewal
Certificates automatically renew via:- Certbot systemd timer (primary method)
- Cron job (backup, runs weekly)
Manual Renewal
Renew all certificates:Force Renewal
Force renewal of a specific certificate:Disable SSL
Disable SSL for a site:- Revoke and delete certificate (permanent)
- Keep certificate (temporarily disable, can re-enable later)
Revoke Certificate
To revoke and delete:Test Certificates (Staging)
For testing, use Let’s Encrypt staging environment:- Don’t count against rate limits
- Are not trusted by browsers (will show warning)
- Should only be used for testing
- Can be renewed/revoked freely
SSL and Force Redirect
When SSL is enabled, HTTP to HTTPS redirect is automatic. Force redirect (www/non-www) works with SSL:WordPress SSL Integration
For WordPress sites, enabling SSL automatically:- Updates database URLs to HTTPS
- Respects force redirect settings (www/non-www)
- Updates both
homeandsiteurloptions
Certificate Locations
Let’s Encrypt certificates are stored at:Orphan Certificate Removal
If a site is deleted but certificate remains:SSL Information
Check SSL status for a site:- SSL enabled/disabled
- Certificate type (Let’s Encrypt, custom, wildcard)
- Staging/production status
- Expiration date
Troubleshooting
Certificate Request Failed
DNS not propagated:-test-cert for testing.
Certificate Not Renewing
Check certbot timer:NGINX Not Reloading After Renewal
Verify deploy hook exists:Best Practices
Always Use SSL
- Enable SSL for all production sites
- Use automatic renewal (don’t use manual certs unless necessary)
- Monitor certificate expiration dates
- Keep contact email up to date
Test First
- Use
-test-certfor testing configurations - Test on staging sites before production
- Verify DNS before requesting certificates
- Don’t exceed rate limits
Wildcard Usage
- Only use wildcards if you have many subdomains
- Remember wildcards require manual renewal
- Consider individual certs for important subdomains
- Document wildcard DNS validation process
Monitoring
- Monitor renewal logs regularly
- Set up expiration alerts (Let’s Encrypt emails)
- Check NGINX error logs after renewals
- Verify HTTPS works after renewal
Security Headers
Webinoly automatically includes security headers when SSL is enabled:Strict-Transport-Security(HSTS)X-Frame-OptionsX-Content-Type-OptionsReferrer-Policy- SSL session caching
- OCSP stapling