Custom domain and TLS¶
A custom domain serves the bucket as a website under your hostname, for example
files.example.com. It requires static hosting to be enabled on the
account; without it no domain configuration is deployed.
Set up¶
- In the customer portal enable static hosting and enter the domain.
- Create a CNAME at your DNS provider:
files.example.com CNAME <bucket>.<endpoint host>, for examplemy-bucket.fra.s3.zeroservices.eufor a bucket in FRA2. The portal's DNS check resolves the name through a public resolver and compares it with exactly this target. - Request the certificate. Issuance is ACME HTTP-01 with Let's Encrypt; the challenge
path
/.well-known/acme-challenge/stays reachable through every filter. The certificate is deployed to the region's gateways and renewed by a daily job.
TLS modes¶
| Mode | Behaviour |
|---|---|
acme (default) |
certificate from Let's Encrypt, HTTP is redirected to HTTPS with 301 |
upstream |
TLS is terminated upstream, for example by ZERO-PROTECT; no certificate is issued here, HTTP is still redirected |
off |
no redirect, no certificate |
Origin lock¶
With origin_lock: zero-protect the domain answers only to the ZERO-PROTECT edge
addresses; every other source gets 403. Use it when the domain is fronted by
ZERO-PROTECT so that the origin cannot be reached directly.
What the gateway does¶
Requests to the domain are rewritten to the bucket (/<tenant>:<bucket>/<path>) and
served by the region's RGW. A Strict-Transport-Security header (6 months) is added to
every response. Apex domains cannot carry a CNAME; use a subdomain.