TLS Configuration
Wings uses industry-standard TLS configuration based on Cloudflare’s recommendations.Default TLS Settings
Wings implements secure defaults for TLS connections:- HTTP/2 Support: Enabled via
h2protocol - Modern Cipher Suites: Only secure ciphers (ECDHE with AES-GCM or ChaCha20-Poly1305)
- TLS 1.2+: Minimum TLS 1.2, supports TLS 1.3
- Forward Secrecy: All cipher suites provide perfect forward secrecy
- Elliptic Curves: Prefers X25519 and P-256
Configuration File
Enable SSL in/etc/pterodactyl/config.yml:
Certificate Acquisition
Using Let’s Encrypt
The recommended way to obtain certificates is using Certbot with Let’s Encrypt.Install Certbot
Ubuntu/Debian:Obtain Certificate
Standalone Mode (Wings must be stopped):Certificate Locations
Certbot stores certificates in/etc/letsencrypt/live/:
- Certificate:
/etc/letsencrypt/live/wings.example.com/fullchain.pem - Private Key:
/etc/letsencrypt/live/wings.example.com/privkey.pem - Chain:
/etc/letsencrypt/live/wings.example.com/chain.pem - Certificate Only:
/etc/letsencrypt/live/wings.example.com/cert.pem
Always use
fullchain.pem for the certificate file, not cert.pem. The full chain includes intermediate certificates required for proper validation.Auto-Renewal
Certbot automatically installs a systemd timer for renewal:Reload Wings After Renewal
Create a renewal hook to reload Wings:Using Custom Certificates
You can use certificates from any Certificate Authority:- Obtain certificate and key from your CA
- Copy to secure location:
- Update configuration:
SFTP Host Keys
Wings automatically generates an ED25519 host key for SFTP on first run.Key Generation
Key Location
The SFTP host key is stored at:SFTP Cryptography
Wings uses modern SSH algorithms:Certificate Validation
Testing SSL Configuration
Verify your SSL setup:Common Issues
Certificate Chain Issues
Problem: Browser shows certificate warnings Solution: Ensure you’re usingfullchain.pem, not cert.pem:
Permission Denied
Problem: Wings cannot read certificate files Solution: Check file permissions:Mixed Content Warnings
Problem: WebSocket connection fails with SSL Solution: Ensure Panel useswss:// for WebSocket URLs, not ws://
Security Best Practices
File Permissions
Protect private keys:Certificate Monitoring
Monitor certificate expiration:HSTS (HTTP Strict Transport Security)
Consider enabling HSTS headers via reverse proxy:Cipher Suite Selection
Wings uses only secure cipher suites. Never modifyDefaultTLSConfig to include weak ciphers like:
- RC4
- 3DES
- CBC-mode ciphers (vulnerable to BEAST/Lucky13)
- Non-ECDHE ciphers (no forward secrecy)
TLS Version
- Minimum: TLS 1.2 (required)
- Recommended: TLS 1.3 (automatic when supported)
- Never: TLS 1.0 or 1.1 (deprecated and insecure)
