Connecting Custom Domains & Automatic SSL to PaaS Applications Guide
Applications deployed on Skyversal PaaS (Node.js, Next.js, React, Laravel, Python) start with a default your-app.skyversal.app subdomain. Learn how to map your custom domain (e.g. yourdomain.com or app.yourdomain.com) and secure it with automated 256-bit SSL certificates over HTTPS.
📌 What You Will Learn in This Guide
Step 1 — DNS Record Types: A Record vs CNAME Record
💡 Direct Answer: Use an A Record pointing to a static IP for apex domains (e.g., yourdomain.com), and a CNAME Record pointing to the PaaS CNAME endpoint for subdomains (e.g., app.yourdomain.com).
| Use Case | Record Type | Host / Name | Target / Value |
|---|---|---|---|
| Apex / Root Domain | A | @ (or blank) | Server IP Address (e.g. 185.x.x.x) |
| Subdomain | CNAME | app / www / api | cname.skyversal.app |
🌟 Advanced: CNAME Flattening (ALIAS) Support for Apex Domains
💡 Modern Tech: While DNS standards disallow CNAME records on apex root domains, modern DNS providers (Cloudflare, Route53, Namecheap) support CNAME Flattening (ALIAS / ANAME) to point root domains dynamically to cname.skyversal.app.
Step 2 — Mapping Your Domain in Skyversal Console
💡 Direct Answer: Navigate to Skyversal Console > Project > Domains, click Add Custom Domain, enter your target domain, and copy the verification DNS target.
- Log into Skyversal Console and select your target application.
- Open the Domains tab on the sidebar menu.
- Enter your custom domain (e.g.
app.yourdomain.com) into the Add Custom Domain input. - Copy the generated CNAME / A Record target values provided on screen.
Skyversal PaaS provisions automated SSL certificates, HTTP/3 protocol support, and DDoS-protected Edge Gateway routing for all your applications in seconds.
Step 3 — Automatic SSL (HTTPS) Issuance & 301 Redirect
💡 Direct Answer: Once DNS records propagate, Let's Encrypt / Automated SSL engine automatically issues a free 256-bit SSL certificate and enforces HTTP-to-HTTPS 301 redirects.
🛠️ Troubleshooting & DNS Propagation Guide
🟡 DNS Records Set But Domain Does Not Load?
Direct Answer: Single A or CNAME record updates propagate within 5 minutes to 4 hours depending on TTL settings. (Note: Changing entire NameServer NS delegators can take 24 to 48 hours.)
Verification: Run nslookup app.yourdomain.com or dig app.yourdomain.com in your terminal to verify if the domain resolves to the correct IP or CNAME target.
🔴 How to Fix Cloudflare "Too Many Redirects" Error?
Direct Answer: If Cloudflare SSL/TLS encryption is set to Flexible, an infinite redirect loop occurs between Cloudflare and Skyversal Edge Gateway.
Solution: In Cloudflare Dashboard > SSL/TLS, change encryption mode to Full or Full (Strict).