Tutorial: Install a Let's Encrypt Wildcard SSL Certificate on Access Server with Certbot
Overview
OpenVPN Access Server secures the Admin Web UI and Client Web UI with an SSL/TLS certificate. A new installation generates a self-signed certificate so you can access these web interfaces immediately. Although the connection is encrypted, browsers can’t automatically verify the server’s identity and display a certificate warning.
Replacing the self-signed certificate with a trusted SSL certificate gives Access Server a browser-verifiable identity and removes these warnings. For more information about how Access Server uses web certificates, refer to Web SSL Certificates. Web SSL certificates are separate from the certificates Access Server uses for VPN connections. Changing the web certificate doesn’t affect VPN certificates.
This tutorial shows how to use Certbot to request and install a browser-trusted Let’s Encrypt certificate for Access Server. It includes:
A standard certificate for one hostname.
A wildcard SSL certificate for a hostname and its subdomains.
The recommended DNS-01 challenge workflow.
An HTTP-01 alternative.
A Certbot deploy hook that installs each issued or renewed certificate in Access Server.
Verification of Certbot automatic renewal through a
systemdtimer.
For organizations implementing a Zero Trust Network Access strategy, replacing the self-signed certificate is an important hardening step because a browser-trusted certificate provides users and administrators with a verifiable identity for the Access Server web interfaces.
Prerequisites
An installed Access Server.
Console access and the ability to get root access.
A fully qualified domain name, such as
vpn.example.com, that users can resolve to your Access Server.Control of the domain's DNS records.
A valid email address for Let's Encrypt expiration and account notifications.
The domain configured in the Admin Web UI under VPN Server → Network Settings → DNS hostname (or IP address).
For the DNS-01 challenge, API credentials for a supported DNS provider.
Before you begin: Choose an ACME challenge
Certbot proves that you control a domain by completing an ACME challenge. Choose the method that matches your deployment before installing and configuring Certbot.
Challenge | Inbound port | Wildcard certificate | Best for |
|---|---|---|---|
DNS-01 (recommended) | No inbound port required | Yes | Most Access Server deployments, including servers behind firewalls or load balancers, and deployments that need a wildcard SSL certificate. |
HTTP-01 | TCP 80 | No | Servers where port 80 is publicly reachable and available for Certbot's temporary listener. |
TLS-ALPN-01 | TCP 443 | No | Deployments using Access Server's built-in ACME client. |
The DNS-01 challenge verifies domain control by creating a DNS TXT record. It doesn't require the Access Server web service to be reachable from the internet and is the only Let's Encrypt challenge that supports wildcard certificates.
If you aren't sure which method to use, choose DNS-01.
Example values used in this tutorial
Placeholder | Example |
|---|---|
Access Server hostname |
|
Wildcard domain |
|
Let's Encrypt email |
|
Certificate name |
|
Deploy hook |
|
Replace these values with those for your environment.