SSL Configuration
ZyveraWeb supports HTTPS with TLS 1.3 and TLS 1.2. SSL is configured per-site rather than globally — each virtual host can have its own certificate.
Config Settings
SSL is configured under each site entry in sites:
sites:
- domain: "example.com"
dir: "site/example"
ssl:
cert: fullchain.pem
key: privkey.pem
| Setting | Description |
|---|---|
ssl.cert |
Filename of the certificate (full chain) in ssl/ folder |
ssl.key |
Filename of the private key in ssl/ folder |
Certificate Location
SSL files are stored per-domain in plugins/ZyveraWeb/ssl/<domain>/:
plugins/ZyveraWeb/
└── ssl/
└── example.com/
├── fullchain.pem # X.509 certificate (full chain)
├── privkey.pem # Private key (PEM format)
├── user.key # ACME account key (auto-generated)
└── ...
Certificate Formats
| File | Format | Description |
|---|---|---|
fullchain.pem |
PEM (X.509) | Certificate chain including intermediate CA certificates |
privkey.pem |
PEM (PKCS#8 or PEMKeyPair) | RSA private key |
Supported private key formats (via BouncyCastle):
- PKCS#8
PrivateKeyInfo - PEM Key Pair
How Per-Site SSL Works
When at least one site has an ssl block configured:
- An HTTPS server starts on the configured public
host:port. - An HTTP server starts on
127.0.0.1(internal, auto-assigned port). - All public traffic enters through HTTPS. The internal HTTP server is used for ACME HTTP-01 challenges and internal forwarding.
- The plugin reads each site's certificate and key from the
ssl/folder and creates per-certificate SSL contexts. - When a request arrives, the matching site's SSL context is used for the TLS handshake (SNI).
When no site has SSL:
- Only an HTTP server runs on the public
host:port.
Port Considerations
- Standard HTTPS port is
443(may require root/admin). - If using a non-standard port, users must specify it in the URL (e.g.,
https://example.com:8443).
Auto-Renewal
The ACME client issues certificates but does not automatically renew them. You should set up a cron job or scheduled task to run the ACME workflow before the 90-day expiration.
See Automatic SSL for setting up Let's Encrypt certificates.
No comments to display
No comments to display