Skip to main content

TLS certificates

Understand managed certificate issuance, ownership verification, renewal, and TLS troubleshooting on Bex.

Share
Last updated on September 23, 2026
On this page

Bex integrates certificate management with public routing. A configured platform installation can issue and renew certificates for platform hostnames and verified custom domains. Application owners do not upload a certificate through the service API.

This depends on the instance's ingress and certificate infrastructure. Running the operator alone does not automatically provision public DNS, an ACME issuer, or a publicly reachable HTTPS endpoint.

Custom-domain certificate lifecycle

  1. Add the hostname to the web service or static site.
  2. Create the returned ownership TXT and routing DNS records.
  3. Verify ownership through the dashboard or service-scoped API.
  4. Wait for certificate and serving status to become ready.
  5. Test the hostname over HTTPS before directing application users to it.

Follow Custom domains for the exact commands and DNS record fields. Ownership verification and certificate readiness are different states; a verified TXT claim does not mean a certificate has already been issued.

For a domain already added to your service, inspect its current state:

bash
# Set the API origin, authorized token, and service id for your instance.
curl --fail-with-body \
  "$BEX_API_URL/v1/services/$SERVICE_ID/custom-domains/api.example.com" \
  -H "Authorization: Bearer $BEX_TOKEN"

ownershipStatus reports the claim, verificationStatus reports certificate verification, and serverStatus reports whether the domain is active.

Platform domains and renewal

Platform hostnames use the base domain configured by the instance operator; onbex.co is not a universal domain for every self-hosted installation. Subdomain policy can disable a service's platform hostname when custom domains are configured.

Custom hosts use separate certificate resources so a validation failure for one domain does not group all hosts into a single certificate request. They still depend on shared ingress, issuer, and DNS infrastructure. Keep the required DNS routing intact and monitor certificate state during domain moves.

The standard deployment uses cert-manager and its configured issuer. An instance operator must ensure the issuer's challenge mechanism can reach or validate the domain. Do not assume a custom proxy or DNS change is compatible with that mechanism without checking the instance configuration.

Troubleshoot HTTPS

SymptomNext check
Ownership stays pendingExact TXT record name/value from the domain response and DNS propagation.
Ownership verified, certificate pendingRouting DNS, issuer readiness, challenge failures, and certificate-authority limits.
Browser reports a different hostname's certificateConfirm DNS reaches this Bex instance and that this exact hostname has a ready certificate.
Certificate expiredInspect renewal failures and recent DNS/ingress/issuer changes.
TLS succeeds but HTTP requests failCheck application logs, readiness, and routing; the certificate does not prove application health.

A private service has no public ingress certificate. This does not imply all internal connections are encrypted: use the application's or datastore's TLS configuration where required.

Was this page helpful?

Run this on infrastructure you own

bex is the open-source, AI-native Render alternative — push a git repo and get a running HTTPS service on your own machines.

Get started with bex