By default the customer panel is on port 2083 and the admin panel on 2087, for example
https://server.yourdomain.com:2083. Some networks (offices, hotels, schools, public Wi-Fi) block those
ports, and customers find a port number in an address confusing. Panel addresses give each panel a
hostname of its own on the normal HTTPS port, so it opens like any website:
https://panel.yourdomain.comfor your customershttps://admin.yourdomain.comfor you and your staff
The usual ports keep working alongside them, so nothing that already uses them breaks. Panel addresses are available on every licence tier, from NovaPanel 1.9.7.
Set it up
- Pick the names. Any hostname you control works. Each panel needs its own name, and a name a customer's website or subdomain already uses is refused, so the panel never takes over someone's site.
- Point DNS at the server. At your DNS provider, add an
Arecord for each name pointing at the server's IP address (and anAAAArecord if the server has IPv6). If the domain's DNS is hosted on NovaPanel itself, add the records in the panel's DNS editor. - Save them in the panel. Go to Admin → Settings → Panel addresses, enter the names, and click Save addresses. This needs a full admin account.
- Wait for the certificate. Under each field the panel shows whether the name points at this server yet. Once it does, the HTTPS certificate is issued automatically, usually within a minute. Click Open next to the green tick to try it.
To stop using an address, clear its field and save. You can set just one of the two; each works on its own.
Behind Cloudflare's proxy
The simplest setup is a DNS-only (grey cloud) record: the panel gets a free Let's Encrypt certificate for the name and renews it by itself.
To put a panel address behind Cloudflare's proxy (orange cloud), give the panel a certificate instead of relying on Let's Encrypt, because Let's Encrypt cannot reach the server through the proxy to issue one:
- In Cloudflare, create an Origin certificate (SSL/TLS → Origin Server) that covers the
names, for example
*.yourdomain.com. - In NovaPanel, go to Admin → Settings, find the panel HTTPS section (shown once panel HTTPS is enabled) and click Install custom certificate. Paste the certificate and its private key.
- Save the panel addresses again. Every address the certificate covers is served with it.
- Set Cloudflare's SSL mode to Full (strict).
See Running behind Cloudflare for which other services can and cannot go through the proxy.
What follows the addresses
From NovaPanel 1.9.8, the links the panel generates use your addresses instead of the server hostname and port:
- Log in as (impersonating a customer from the admin panel) opens the customer panel on its address. If you set only an admin address, it opens the customer panel on its usual HTTPS port, 2083.
- Billing login links: the "log in to panel" button in FOSSBilling or any other billing system using the API sends customers to the customer panel address.
- Alert emails: the "Open" button in admin alert emails, and
{{.Panel.URL}}in your own email templates, use the admin panel address.
On 1.9.7, "Log in as" through the admin address answers "This panel is reached through a proxy or tunnel, so
NovaPanel cannot work out the customer panel's public address." Update to 1.9.8, or as a workaround add
NOVA_CUSTOMER_PUBLIC_URL=https://panel.yourdomain.com to /opt/novapanel/config/.env and
restart the panel with systemctl restart novapanel. If you set that variable, it keeps taking priority
over the customer panel address after you update.
What does not change
- Webmail and phpMyAdmin stay on their own ports (2096 and 8443).
- Mail, FTP and SSH keep connecting to the server hostname. Panel addresses are web only.
- The ports stay open. 2083 and 2087 keep answering, so bookmarks, scripts and billing systems configured with the hostname and port carry on working. Billing modules still talk to the API on the admin port, 2087.
Troubleshooting
- "Add a DNS A record ... pointing at this server" stays under the field: the name does not resolve to this server yet. Check the record's IP address, and allow time for DNS to update. A record proxied through Cloudflare resolves to Cloudflare's IP, so the warning stays; that is expected once you have installed an origin certificate as described above.
- The address opens with a certificate warning: the certificate has not been issued yet. That needs the name to resolve to this server and ports 80 and 443 to be reachable from the internet. Check your firewall and any provider-level firewall.
- "... is already used by a website or another service on this server" when saving: a customer's domain or subdomain, or another part of the panel, already serves that name. Pick a different one.