Transport Layer Security (TLS) certificates
TurboStack secures your applications with HTTPS. You choose how each application gets its certificate on
the Applications tab, under an application's Hostnames settings (cert_type).
Certificate types
Important
Custom certificate and private-key material is sensitive - treat it like any other secret.
Let's Encrypt (automatic HTTPS)
Set cert_type: letsencrypt and publish. TurboStack requests the certificate and renews it
automatically before it expires. List every hostname the site answers to in server_name
(space-separated) so they are all covered.
Note
For Let's Encrypt to succeed, the domain must already point to the server - see Connecting your domain.
Tip
If you cannot adjust DNS yet but still need HTTPS, start with a selfsigned certificate and switch
to letsencrypt once the domain points to the server.
Validation challenge: HTTP vs DNS
Under Advanced settings you can choose the cert_challenge:
-
http(recommended, most compatible) - validates by serving a file over HTTP. The domain must resolve to the server. -
dns- validates via a Domain Name System (DNS) record. Use it for wildcard certificates, or for domains that don't yet point to the server. When your domain uses Hosted Power DNS, TurboStack creates the validation record automatically. For domains on Cloudflare, you supply a Cloudflare API token so TurboStack can create the record for you.
Wildcards and multiple domains
- Multiple domains/subdomains: add them all to
server_name. - Wildcard (
*.example.com): requires the DNS challenge.
Bring your own certificate
Most sites only need Let's Encrypt. To use a certificate you bought yourself, buy it from any
certificate authority, then set cert_type: custom and import it - either in the GUI (the application's
Hostnames settings) or in YAML. Paste the private key and the full chain in order: your
certificate, then the intermediate certificate(s), then the root. If the publish fails, the
intermediates are usually in the wrong order.
Note
You almost never need to buy a certificate - Let's Encrypt covers nearly all cases. If you are unsure, contact support.
Generate a CSR
To buy a certificate you provide a Certificate Signing Request (CSR).
Generate the key and CSR on the server so the private key never leaves it. Create a config file
server.san (use *.example.com as commonName for a wildcard):
[ req ]
default_bits = 4096
distinguished_name = req_distinguished_name
req_extensions = req_ext
prompt = no
[ req_distinguished_name ]
countryName = BE
organizationName = Example Company
commonName = www.example.com
[ req_ext ]
subjectAltName = @alt_names
[alt_names]
DNS.1 = www.example.com
DNS.2 = example.com
openssl req -sha256 -new -newkey rsa:4096 -nodes -keyout server.key -out server.csr -config server.san
Give server.csr to your certificate authority.
Extract a certificate from a PFX file
If you were given a .pfx (Personal Information Exchange) file, split it into the certificate and key to paste them in:
openssl pkcs12 -in certificate.pfx -nokeys -out certificate.pem -nodes # certificates
openssl pkcs12 -in certificate.pfx -nocerts -out priv-key.pem -nodes # private key
Build a PFX file
To hand a certificate to a Windows or Internet Information Services (IIS) system, combine the private key, certificate and chain into one .pfx:
openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt -certfile chain.pem
Note
OpenSSL 3.x uses a newer default encryption that some older Windows or IIS versions cannot import. If the target refuses the file, add -legacy:
openssl pkcs12 -export -legacy -out server.pfx -inkey server.key -in server.crt -certfile chain.pem
Buy a certificate through the Customer Center
You can also order a paid certificate, still commonly sold as a Secure Sockets Layer (SSL) certificate, through the Customer Center at portal.hosted-power.com. The portal generates the Certificate Signing Request (CSR) for you and handles the paperwork, then hands you the issued certificate to import.
Note
You almost never need to buy a certificate. Let's Encrypt covers nearly all cases. If you are unsure whether a paid certificate is right for you, contact support first.
To order a certificate:
-
Open the Customer Center and start a new certificate order.
-
Choose the certificate product. Unless you were told to get a specific type, choose a Sectigo Positive SSL certificate.
-
Provide the CSR. If you already have one, paste it. If not, choose the option to generate a new CSR now, and the portal creates it for you.
-
Enter the organization data for the requesting organization. For a Sectigo Positive SSL certificate this data is not verified against public records.
-
For Certificate Common Name, enter the domain you want the certificate to cover.
-
Choose the approver email address for domain-control validation (see below).
Domain-control validation
The certificate authority confirms you control the domain by sending a validation email. The approver address must be on the root domain of the requested domain, and it must be one of these five addresses:
admin@example.comadministrator@example.comhostmaster@example.comwebmaster@example.compostmaster@example.com
Important
Make sure you can receive mail at one of these five addresses on your domain before you order. No other address is accepted for validation.
After you complete the order, the validation email arrives at the address you chose. Follow its
instructions to confirm the request. Once validated, the certificate is usually issued within about
10 minutes and becomes available in the Customer Center. Import it into your application as a custom
certificate (see
Redirecting to HTTPS
On TurboStack the HTTP-to-HTTPS redirect is handled for you once a certificate is active - see
Force HTTPS. Also set your application's site URL to
https:// so it generates secure links.
Related
- Applications - where you set
server_nameandcert_type. - Connecting your domain - DNS prerequisites.
- Security and Security hardening.
- Hosts