ScaleMax Cloud
Launch

Domain and HTTPS

Point an A record at your server, then serve HTTPS: a forwarded port on shared IPv4, automatic certificates with Caddy on a dedicated IPv4.

On this page

Point your domain at your server with a DNS record, then serve your site or app on it. How you do HTTPS depends on the address your server has. KVM 1, KVM 2 and custom sizes share a public IPv4 with a block of 20 forwarded ports. KVM 4 and KVM 8 include a Dedicated IPv4, which receives every port, including 80 and 443. Servers are IPv4 only, so add no AAAA record.

1. Find your server's public address

With a Dedicated IPv4, the address is on the server's Overview. On a shared IPv4, the hostname resolves to the shared address:

dig +short vmN.box.scalemaxcloud.com

On Windows, use nslookup vmN.box.scalemaxcloud.com.

2. Add an A record

At your DNS provider, create an A record for the name you want, such as app.example.com, with that address as the value. DNS changes usually show up within minutes, and can take up to the record's TTL. Check it:

dig +short app.example.com

Shared IPv4: a reverse proxy on a forwarded port

Your server's Overview shows the SSH port on its own, then lists your 19 forwarded ports (on a server with an app, under For developers: connect with SSH). Each forwarded port reaches the same port number inside your server. Ports 80 and 443 on the shared address are not yours, so run a reverse proxy on one of your forwarded ports instead. The example below uses Caddy, a forwarded port (for example 20001; use one from your server's Overview) and an app listening on port 5678. Install Caddy:

apt-get update && apt-get install -y caddy

Replace the contents of /etc/caddy/Caddyfile with:

http://app.example.com:20001 {
    reverse_proxy localhost:5678
}
systemctl reload caddy

Your app is then at http://app.example.com:20001. Automatic certificates need port 80 or 443: Let's Encrypt's HTTP-01 and TLS-ALPN checks connect on those ports, and the shared address does not forward them to you. That is why Dedicated IPv4 is the simple path to HTTPS on your own domain. If you are comfortable with DNS APIs, the DNS-01 check is the alternative: it proves the domain through a DNS record and needs a Caddy build with your DNS provider's plugin.

Dedicated IPv4: automatic HTTPS with Caddy

With your own address, Caddy gets and renews a Let's Encrypt certificate on its own. Point the A record at the dedicated address, then install Caddy:

apt-get update && apt-get install -y caddy

Replace the contents of /etc/caddy/Caddyfile with:

app.example.com {
    reverse_proxy localhost:5678
}
systemctl reload caddy

Open https://app.example.com. The first request takes a few seconds while the certificate is issued. If you run a firewall on the server, allow ports 80 and 443.

Once Caddy fronts your app, stop exposing the app's own plain-HTTP port. For n8n, change the port line in /opt/n8n/docker-compose.yml from "5678:5678" to "127.0.0.1:5678:5678", then run docker compose up -d in /opt/n8n. Caddy still reaches it on localhost:5678; the internet no longer does.

Dedicated IPv4 is included on KVM 4 and KVM 8; on other plans add it from Add-ons. It is set up automatically, within a minute, and the new address appears on the server page. If no address is free at that moment, it is set up within 24 hours, by hand. More in Ports and networking.