SSL Configuration
Configure SSL/TLS certificates for secure HTTPS connections to your PteroCA panel.
Overview
SSL (Secure Sockets Layer) / TLS (Transport Layer Security) encrypts communications between your users and the PteroCA panel. This is essential for production environments to:
Encrypt sensitive data (passwords, payment information)
Prevent man-in-the-middle attacks
Build user trust
Comply with security standards (PCI-DSS, etc.)
Enable modern browser features
Quick Start with Let's Encrypt
The easiest way to get SSL certificates is using Let's Encrypt with Certbot.
Install Certbot
sudo apt update
sudo apt install -y certbot python3-certbot-nginxObtain Certificate
Certbot will:
Verify domain ownership
Obtain SSL certificate
Automatically configure NGINX
Set up auto-renewal
For detailed web server setup, see Web Server Configuration.
Manual SSL Configuration
If you have an existing SSL certificate from another provider:
NGINX Configuration
Apache Configuration
SSL Certificate Providers
Let's Encrypt (Free)
Pros:
Completely free
Automated renewal
Trusted by all browsers
Easy setup with Certbot
Cons:
90-day validity (but auto-renews)
Rate limits apply
Best for: Most installations, especially personal/small business
Commercial Providers
Popular commercial certificate authorities:
Sectigo (formerly Comodo)
DigiCert
GlobalSign
GoDaddy
Pros:
Longer validity (1-2 years)
Extended Validation (EV) options
Warranties included
Priority support
Cons:
Annual cost
Manual renewal process
Best for: Enterprise environments, companies needing EV certificates
Wildcard Certificates
Secure multiple subdomains with one certificate:
Covers:
example.com
panel.example.com
api.example.com
*.example.com
Certificate Auto-Renewal
Verify Certbot Renewal
Certbot sets up automatic renewal. Test it:
Manual Renewal
If needed, manually renew:
Renewal Hooks
Run commands after renewal:
SSL Best Practices
Use Strong Protocols
Configure Strong Ciphers
Enable HSTS
Enable OCSP Stapling
Testing SSL Configuration
SSL Labs Test
Test your SSL configuration:
Visit https://www.ssllabs.com/ssltest/
Enter your domain
Wait for analysis
Aim for A+ rating
Command Line Testing
Browser Testing
Visit https://yourdomain.com
Click padlock icon
Verify:
Valid certificate
Correct domain
Trusted CA
No mixed content warnings
Troubleshooting
Certificate Not Trusted
Error: "NET::ERR_CERT_AUTHORITY_INVALID"
Solutions:
Verify certificate chain is complete
Check certificate paths in NGINX/Apache
Renew certificate if expired
Mixed Content Warnings
Error: "This page contains insecure content"
Cause: HTTP resources loaded on HTTPS page
Solutions:
Update site URL in PteroCA
Admin Panel → Settings → General
Ensure Site URL uses
https://
Check for HTTP resources
Open browser console (F12)
Look for HTTP:// requests
Update to HTTPS:// or relative URLs
Enable HSTS
Certificate Renewal Fails
Error: Certbot renewal failed
Common Causes:
Port 80/443 blocked
Web server not running
Domain DNS changed
Verify domain still points to server
Check with
dig panel.example.com
Rate limit reached
Let's Encrypt has rate limits
Wait before retrying
See https://letsencrypt.org/docs/rate-limits/
Redirect Loop
Symptom: Page keeps redirecting
Cause: Proxy configuration issue
Solutions:
Check trusted proxies - See Trusted Proxies
Verify X-Forwarded-Proto header
Security Headers
Add these headers for enhanced security:
Advanced Configuration
Certificate for Pterodactyl Panel
Both PteroCA and Pterodactyl should use SSL:
Wildcard Certificate
Follow prompts to add DNS TXT record for validation.
Certificate Backup
Backup your certificates regularly:
Monitoring
Certificate Expiration
Monitor certificate expiration:
Set Up Alerts
Use monitoring services:
SSL Labs Monitoring - Email alerts
Uptime Robot - Free monitoring
Nagios/Icinga - Self-hosted monitoring
Related Guides
Web Server Configuration - Basic SSL setup with Certbot
CSRF Protection - Additional security measures
Trusted Proxies - Proxy configuration
Troubleshooting - Common issues
Last updated