xudbinSERVER PANEL

← All guides

Connecting your own domain with automatic HTTPS

Connect your own domain to a live app, verify the DNS record and get a free HTTPS certificate automatically. A few minutes (plus DNS propagation).

2 min read

Why not keep the automatic address?

Every app goes live right away with an address like app-x7k2.1-2-3-4.sslip.io. That's ideal for trying things out, but Let's Encrypt applies one shared weekly certificate quota to all sslip.io users. Use your own domain for production sites.

1. Create an A record

In your domain provider's DNS settings, add an A record pointing your domain to the server's IP:

blog.example.com.   A   203.0.113.10

2. Add the domain to the app

  1. Open the app's Domains tab.
  2. Type blog.example.com under Connect a domain and leave HTTPS on.
  3. Press Add.

3. Read the DNS check

The panel checks the record with public resolvers. If it's right, the list says "DNS points to this server". If not, it tells you what the record should point to; DNS can take minutes to hours to propagate.

The certificate is obtained on the first visit and renewed before it expires.

If you use Cloudflare

If the domain is behind Cloudflare's proxy (orange cloud), set Cloudflare's SSL mode to Full (strict) or turn the proxy off. Otherwise you may see a redirect loop or certificate error.

If your framework rejects the domain

Frameworks like Django, Rails or Vite may reject hosts they don't know. Instead of listing allowed hosts by hand, use {{XUDBIN_DOMAINS}} in the environment variable; new domains are added on every deploy. Then redeploy.

Your own domain for every new app

To give new apps an address under your domain instead of sslip.io:

  1. Add a wildcard DNS record: *.apps.example.com → 203.0.113.10
  2. In Servers > server > Settings, enter apps.example.com under Your own domain for automatic addresses.
  3. Verify with Test, then Save.

New apps get app.apps.example.com; existing addresses don't change.

If you can't open ports

For home servers or machines behind NAT, use Cloudflare Tunnel: paste the token under Servers > server > Settings > Cloudflare Tunnel, set http://xudbin-caddy:80 as the service for the hostname in Cloudflare, and set HTTPS on this server to Off, HTTP only.