Skip to main content

HTTP vs HTTPS

ZyveraWeb supports both plain HTTP and encrypted HTTPS. HTTPS is enabled per-site rather than with a global toggle.

HTTP Server

  • No encryption overhead
  • Configured with a fixed thread pool
  • Binds to the configured host:port when no site has SSL

HTTPS Server

  • Encrypted with TLS 1.3 and TLS 1.2
  • Same thread pool model as HTTP

TLS Protocols

Protocol Status
TLS 1.3 Enabled (preferred)
TLS 1.2 Enabled (fallback)
TLS 1.1 Disabled
TLS 1.0 Disabled
SSL 3.0 Disabled

How HTTPS Is Enabled

HTTPS is enabled automatically when any site in the sites section has an ssl block:

sites:
  - domain: "example.com"
    dir: "site/example"
    ssl:
      cert: fullchain.pem
      key: privkey.pem

When at least one site has SSL configured:

  1. An HTTPS server starts on the public host:port.
  2. An HTTP server starts on 127.0.0.1 (internal, auto-assigned port) for ACME challenges.
  3. All public traffic enters through HTTPS.

To switch back to HTTP-only, remove the ssl blocks from all sites.

Mixed Content Warning

If you serve resources (CSS, JS, images) over HTTP from an HTTPS page, browsers will block them with a "mixed content" warning. Ensure all resources are served over HTTPS when using SSL.

Port Recommendations

Protocol Default Port Notes
HTTP 8080 No special privileges needed
HTTPS 443 Requires root/admin, or use a high port