Custom Domains
Configure custom domains, wildcard DNS, and automatic TLS certificates for your Outpost services.
Every Outpost service receives a default endpoint at <service-id>.onoutpost.com. Custom domains let you serve traffic from your own domain with automatic TLS certificates, wildcard subdomains, and full DNS control.
Add a custom domain
Open your service in the Outpost dashboard and navigate to the Settings tab.
In the Public Networking section, click + Custom Domain.
Enter your domain name (e.g., api.yourdomain.com). Wildcard domains like *.yourdomain.com are also supported.
Outpost provides a target domain (e.g., abc123.onoutpost.com). Add a DNS record pointing your domain to this target.
- For subdomains (including
www): Create a CNAME record. - For root/apex domains: See the Root domains section below.
Wait for Outpost to verify your DNS record. Once verified, a green checkmark appears next to your domain in the dashboard.
DNS record setup
Subdomain (CNAME)
For any subdomain -- api.yourdomain.com, www.yourdomain.com, app.yourdomain.com -- create a CNAME record:
| Type | Name | Value |
|---|---|---|
CNAME | api | abc123.onoutpost.com |
Replace abc123.onoutpost.com with the target domain provided by Outpost.
Root and apex domains
Standard DNS does not allow CNAME records at the root level (yourdomain.com). The approach depends on your DNS provider:
| Provider | Record type | Notes |
|---|---|---|
| Cloudflare | CNAME | Cloudflare supports CNAME flattening at the root. Create a standard CNAME record. |
| DNSimple | ALIAS | Use an ALIAS record pointed at your Outpost domain. |
| Namecheap | CNAME | Namecheap supports root-level CNAME records. |
| Other providers | Varies | Check if your provider supports ALIAS, ANAME, or CNAME flattening. |
TLS / SSL certificates
Outpost automatically provisions and renews Let's Encrypt certificates for every custom domain. No configuration is required.
- Certificates are issued after DNS verification completes.
- Renewal happens automatically before expiration.
- All traffic is served over HTTPS. HTTP requests are redirected to HTTPS.
Wildcard domains
Wildcard domains (*.yourdomain.com) route all subdomain traffic to your service. This is useful for multi-tenant applications, branch preview deployments, or any pattern where subdomains are dynamic.
When you add a wildcard domain, Outpost provides two CNAME targets:
| Record | Type | Name | Value |
|---|---|---|---|
| Wildcard | CNAME | * | abc123.onoutpost.com |
| ACME challenge | CNAME | _acme-challenge | def456.onoutpost.com |
The _acme-challenge record is required for Outpost to issue and renew the wildcard SSL certificate.
- Wildcards apply to a single subdomain level.
*.yourdomain.commatchesapp.yourdomain.combut notapi.staging.yourdomain.com. - Nested wildcards (
*.*.yourdomain.com) are not supported. - The
_acme-challengeCNAME must not be proxied by your DNS provider (e.g., disable the orange cloud in Cloudflare).
Cloudflare-specific configuration
If you use Cloudflare as your DNS provider, follow these additional steps:
Proxied domains
If Cloudflare proxying is enabled (orange cloud), you must set your SSL/TLS mode to Full or Full (Strict) in Cloudflare's dashboard. Otherwise, you will encounter ERR_TOO_MANY_REDIRECTS.
Wildcard domains on Cloudflare
For wildcard domains with Cloudflare:
- Disable proxying on the
_acme-challengerecord (set to DNS Only / grey cloud). - Disable Cloudflare's Universal SSL to avoid certificate conflicts.
Deep subdomains
Cloudflare's free Universal SSL only covers first-level subdomains (*.yourdomain.com). If you use a deeper subdomain like api.staging.yourdomain.com with Cloudflare proxying enabled, you need Cloudflare's Advanced Certificate Manager or must disable proxying for that record.
TCP proxying
For non-HTTP services (databases, gRPC without HTTP/2, custom protocols), Outpost supports TCP proxying:
- Navigate to your service's Settings tab.
- Under Public Networking, enable TCP Proxy and specify the target port.
- Outpost generates a
domain:portpair for your TCP traffic.
Plan limits
| Plan | Custom domains per service |
|---|---|
| Trial | 1 |
| Hobby | 2 |
| Pro | 10 (increase available on request) |
Troubleshooting
Domain not verifying. Ensure your DNS record points to the exact target provided by Outpost. Check for typos and confirm propagation with dig or an online DNS checker.
ERR_TOO_MANY_REDIRECTS. If using Cloudflare with proxying enabled, set SSL/TLS mode to Full or above.
Wildcard certificate not issuing. Verify that the _acme-challenge CNAME exists and is not proxied (DNS Only mode).
Freenom domains. Freenom domains (.tk, .ml, .ga, .cf, .gq) are not supported.
Next steps
- Deploy a Service — configuration and deployment guide
- Autoscaling — CoDel algorithm, replica policies, scale-to-zero
Previous → Autoscaling
Next Overview →