HTTPS and TLS
How Easel issues, renews, and serves certificates for every hostname, plus HSTS, CAA, and DNS proxies.
Easel serves every hostname over HTTPS and manages the certificates for you. You never upload certificate files or private keys.
What's covered
- Deployment and preview URLs under
preview.easelusercontent.comuse a platform wildcard certificate, so HTTPS works as soon as the URL exists. - Custom domains get their own Let's Encrypt certificate after DNS points at Easel. Redirect domains get one too, so visitors don't see a certificate warning before the redirect.
Each hostname needs its own certificate. Adding example.com doesn't cover
www.example.com or api.example.com; add each hostname you serve. Wildcard
certificates for custom domains and uploaded certificates aren't supported.
Certificate details
| Item | Value |
|---|---|
| Certificate authority | Let's Encrypt |
| Validation | HTTP-01 |
| Key type | ECDSA P-256 |
| Protocols | TLS 1.2 and 1.3; HTTP/1.1 and HTTP/2 |
| Renewal | Automatic, starting 30 days before expiry |
Issuance
- You add the domain and configure DNS.
- Easel verifies DNS, and the domain shows Issuing certificate.
- Easel requests the certificate on the first HTTPS request to the hostname. The dashboard's own check makes that request, so you don't need to send traffic.
- The domain shows Live once HTTPS works.
HTTPS connections to the hostname fail until issuance finishes. If issuance fails, for example because Let's Encrypt still sees old DNS records, Easel retries automatically and waits longer after each failed attempt, up to an hour. If a domain stays stuck, check its status and last error in the dashboard rather than removing and re-adding it. See Troubleshooting.
Renewal
Easel renews certificates in the background, without a new deployment, as long as:
- The domain stays assigned to the project
- DNS still points at Easel
- HTTP-01 validation can reach Easel
- CAA records still permit Let's Encrypt
An existing certificate keeps working for a while after DNS breaks, but renewal won't succeed. When a check finds the record missing, the domain returns to Needs DNS records and renewal stops until you fix DNS. Easel doesn't email renewal failures.
HTTP to HTTPS redirect
Easel redirects plain HTTP requests to HTTPS with a 301, keeping the path and
query string. Your app doesn't need to handle it.
Requests to /.well-known/acme-challenge/ aren't redirected, so certificate
validation keeps working.
HSTS
Easel sends this header on every response:
It tells browsers to use HTTPS for the hostname for two years. If you set a
stricter policy yourself, be deliberate: includeSubDomains applies to every
subdomain, including ones not hosted on Easel, and browser preload lists are
hard to leave. For other response headers, see
Security headers.
CAA records
CAA records limit which certificate authorities can issue for your domain. If you have any, they must permit Let's Encrypt, or issuance and renewal fail:
Check CAA on both the exact hostname and its parent domain.
DNS proxies
A proxy such as Cloudflare's orange cloud sits in front of Easel and can change verification, certificate issuance, redirects, caching, client IPs, and security rules.
- Keep the record DNS-only until the domain is Live. A proxied record returns the proxy's addresses instead of Easel's, so verification fails, and the proxy can intercept HTTP-01 validation.
- If you turn the proxy on afterward, have it connect to Easel over HTTPS. A proxy that connects over HTTP while both sides force HTTPS causes redirect loops.
- Remove proxy redirect and cache rules that conflict with Easel's.
Check HTTPS
The first should succeed without a certificate error, and the second should
redirect to HTTPS. -servername sends the hostname during the TLS handshake,
so you see the certificate Easel serves for it.