Custom Domain Setup: How to Point Your Domain to Any Cloud App
Deploying your app is only half the story. Getting it live on your own domain — yourbrand.com instead of a generic platform URL — is what makes it feel real. This tutorial walks you through every step of custom domain setup, from DNS records to HTTPS.
Why Custom Domains Matter
A custom domain builds trust, improves SEO, and keeps your brand consistent. Search engines treat domains as ranking signals, and users are more likely to trust app.yourcompany.com than yourbrand.somepaas.io.
Understanding the Two DNS Record Types You'll Use
Before touching anything, understand the two most common DNS records for domain pointing:
- A record — maps a domain to an IPv4 address. Use this for apex domains like
example.com. - CNAME record — maps a domain to another domain name. Use this for subdomains like
www.example.comorapp.example.com.
Most cloud platforms (including PandaStack) give you a target hostname or IP to point to.
Step 1: Deploy Your App First
Make sure your app is running before you touch DNS. On PandaStack, deploy a static site, Docker container, or any supported service via [dashboard.pandastack.io](https://dashboard.pandastack.io). Once deployed, the platform will show you the domain target to use.
Step 2: Add Your Custom Domain in the Dashboard
In the PandaStack dashboard, open your project settings and navigate to Custom Domains. Enter your domain (e.g., app.example.com) and save. The platform will tell you which DNS record to create.
Step 3: Update Your DNS Records
Log in to your domain registrar (Namecheap, GoDaddy, Cloudflare, etc.) and open the DNS management panel.
For a subdomain (recommended):
Type: CNAME
Name: app
Value: your-app.pandastack.io
TTL: 3600For an apex domain (example.com):
Type: A
Name: @
Value: <IP provided by PandaStack>
TTL: 3600If you're using Cloudflare, make sure the proxy (orange cloud) is disabled initially so Let's Encrypt can verify your domain.
Step 4: Wait for DNS Propagation
DNS changes typically propagate within a few minutes to 48 hours, depending on your TTL settings and registrar. You can check propagation with:
dig app.example.com
# or
nslookup app.example.comYou should see the CNAME or A record pointing to your app's target.
Step 5: SSL Certificate is Issued Automatically
PandaStack automatically provisions a TLS certificate via Let's Encrypt once DNS propagation is confirmed. You don't need to upload any certificates or configure anything — HTTPS just works. The certificate auto-renews before expiry.
Step 6: Force HTTPS
Once HTTPS is active, configure your app to redirect all HTTP traffic to HTTPS. If you're deploying a static site on PandaStack, this is handled automatically. For containerized apps, you can add a redirect in your web server config:
Nginx example:
server {
listen 80;
server_name app.example.com;
return 301 https://$host$request_uri;
}Common Issues and Fixes
Domain not resolving: Double-check the CNAME/A value. A single typo breaks everything. Use dig to verify.
SSL not issuing: Ensure the domain is publicly reachable and not behind a proxy that blocks Let's Encrypt's ACME challenge. Disable Cloudflare proxy temporarily if needed.
Mixed content warnings: If your HTML references http:// assets, browsers will block them. Search your codebase for hardcoded HTTP URLs and update them.
Apex Domains vs. Subdomains
CNAME records cannot be set on apex domains per DNS spec. If you want example.com (not www.example.com) to work, you need an A record. Some registrars (like Cloudflare) support "CNAME flattening" which lets you use a CNAME-like entry at the apex. Check your registrar's documentation.
Conclusion
Custom domain setup is straightforward once you understand DNS record types and the verification flow. Deploy on PandaStack, add your domain in the dashboard, create the correct DNS record at your registrar, and automatic SSL does the rest. Check the docs at [docs.pandastack.io](https://docs.pandastack.io) for platform-specific details.