Connect a Custom Domain to Your App (HTTPS)
Connect a free subdomain or your own domain to your app, create the DNS records and get automatic HTTPS certificates from the SolumeCore panel.
To connect a domain to your SolumeCore app, open your app, go to Network & domain > Ports & domain, press Connect domain in the Domains with HTTPS card and choose a free subdomain or your own domain. For your own domain you create two DNS records at your DNS provider, and SolumeCore issues and renews the HTTPS certificate for you.
Domains with HTTPS are available on apps running on a machine that has the HTTPS proxy enabled. If you don't see the Domains with HTTPS card, or it says your machine doesn't have the proxy yet, open a ticket from the panel and support will tell you the options. Until then, your app is reachable at its address and port, which you can see in Network & domain > Ports & domain.
Before you start
- A web app or API that answers HTTP and is running.
- The app must listen on
0.0.0.0and on the port you will connect, not onlocalhost. The panel gives you thePORTvariable for this; see Set environment variables for your app or bot. - For your own domain: access to its DNS settings, usually at your registrar or DNS provider.
Connect a domain, step by step
- Open your app in the panel.
- Go to the Network & domain tab and open Ports & domain.
- In the Domains with HTTPS card, press Connect domain. The card shows how many domains you can have per app.
- Choose the type:
- Free subdomain: a name like
my-bot.<base domain>, ready in seconds. If it says Not available on this server, use your own domain instead. - My own domain: an address like
api.yourdomain.com.
- Free subdomain: a name like
- On the Address step:
- For a free subdomain, type the Name: lowercase letters, numbers and hyphens, 3 to 40 characters.
- For your own domain, type Your domain without
http://. A subdomain such asapi.yourdomain.comis the easiest choice. - Choose Which port of your app? The main port is marked main. Pick the one your app listens on.
- Check the preview, Your app will be at, and continue.
- On the DNS step (own domains only), create the records shown.
Create the DNS records
The panel lists exactly what to create, with a copy button for each value. For a domain such as api.yourdomain.com you need:
| Record | Purpose |
|---|---|
A CNAME record on that name (or an A record when the name is the root of a domain, because a root can't use a CNAME) |
Sends visitors to your app |
A TXT record named _solume-verify.api.yourdomain.com |
Proves the domain is yours; without it nothing is published |
An extra record for www, only if you turned on the www option |
Makes www work too |
Copy the values from the panel, because the TXT value is unique to your app. The steps to add records depend on your provider; if you need help, see Edit DNS records and Connect a domain to a SolumeCore service.
If your DNS provider supports it, the wizard shows a button, Let (provider) do it for you, that opens your provider with the records ready so you only accept. More in Set up DNS automatically with Domain Connect.
If your domain goes through Cloudflare's proxy (orange cloud), switch the record to DNS only (grey cloud). Otherwise we can't issue the certificate, and the panel shows a warning.
Wait for it to go live
Each domain shows three steps: DNS, Certificate and Live, and one of these states:
| State | What is happening |
|---|---|
| Waiting for DNS | We don't see the records yet. DNS changes can take a few minutes |
| Issuing certificate | DNS is correct. The certificate is issued on the first https visit, usually in under a minute |
| Active | Your app answers on https |
| Paused | The domain doesn't answer until it is reactivated |
You can close the window; we keep checking every few minutes. Press Check now to force a check, and see Check DNS propagation if it takes long. Once a domain is connected, the panel also fills in the PUBLIC_URL variable of your app.
Domain options
Open Options on a domain to adjust:
- Always use HTTPS: sends
http://visits tohttps://. - Security headers: adds the headers browsers use to protect visitors.
- Redirect www: also answers on the
wwwversion and sends it to your domain (it needs its own DNS record). - Compression: pages travel smaller and load faster.
- Upload limit: the largest file a visitor can upload, from 1 to 10,240 MB. Empty means no limit.
- Ask for a password: visitors need a username and a password (at least 8 characters). Handy for a test version.
Under Traffic you can see requests, 4xx and 5xx errors and data sent in the last 24 hours. 4xx errors are usually bad links; 5xx errors mean your app failed to answer.
Troubleshooting
- It stays on "Waiting for DNS": check the record names and values against the panel, wait a few minutes and press Check now.
- "Your app isn't answering on port ...": make sure the app is running and listens on
0.0.0.0and on that port. - "That name is taken" or "reserved": pick another subdomain name.
- "That domain is already connected to another server": a domain can only point to one server at a time. Remove it from the other one first.
- "You reached the domain limit for this app": remove a domain you don't use.
FAQ
Is HTTPS included for my app's domain?
Yes. SolumeCore issues and renews the certificate for every connected domain, as long as the DNS records are correct.
Can I use a free subdomain instead of buying a domain?
If Free subdomain is available on your app, yes: choose a name and it is ready in seconds. If it says Not available on this server, connect your own domain.
How many domains can I connect to one app?
The Domains with HTTPS card shows the limit that applies to your app, counting free subdomains and your own domains together. The default limit is 5.
Can I put a password on my app?
Yes. Open the domain's Options and turn on Ask for a password.
Related articles
- Connect a domain to a SolumeCore service
- Edit DNS records
- Check DNS propagation
- Set environment variables for your app or bot
Want your own API or site on a clean https address? See the app plans.