A guide for implementing SSL certificate encryption on Vultr Compute instances to enable secure HTTPS connections.
Securing your Vultr Compute instance with an SSL certificate enables encrypted HTTPS connections to your website or application, protecting your users' data and improving trustworthiness.
You can choose from three main types of SSL certificates:
To help you decide, see How to Choose an SSL/TLS Certificate.
Deploy a Vultr Compute Instance running a supported OS (e.g., Ubuntu, CentOS, Debian).
Install a web server, such as Apache or Nginx.
Point your domain to your instance's IP address using an A record. You can set DNS records in your Vultr DNS or via your domain registrar.
Example A record:
Type: A
Name: @
Value: <Your Instance IP>
TTL: 300
Let’s Encrypt provides free certificates using the certbot
utility, which automatically configures your web server for HTTPS.
Install Certbot.
For Ubuntu or Debian:
$ sudo apt update
$ sudo apt install certbot python3-certbot-nginx # For Nginx
# or
$ sudo apt install certbot python3-certbot-apache # For Apache
For CentOS, Rocky, or AlmaLinux:
sudo dnf install epel-release
sudo dnf install certbot python3-certbot-nginx # or python3-certbot-apache for httpd
Run the below command to request and configure a SSL certificate.
$ sudo certbot --nginx
# or
$ sudo certbot --apache
Follow the on-screen prompts to:
After completed, your site will be secured with SSL.
80
(HTTP) and 443
(HTTPS) are open in both your instance's firewall (ufw
, iptables
or firewalld
) and your Vultr Firewall Group.
Let’s Encrypt certificates expire every 90 days. Certbot installs a systemd timer or cron job to automatically renew them. You can verify renewal with:
$ sudo certbot renew --dry-run
Upload your .crt
, .key
, and CA bundle files to the server.
Edit your web server configuration to include:
For Nginx:
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate /etc/ssl/certs/yourdomain.crt;
ssl_certificate_key /etc/ssl/private/yourdomain.key;
ssl_trusted_certificate /etc/ssl/certs/ca_bundle.crt;
...
}
For Apache (with SSL module enabled):
<VirtualHost *:443>
ServerName yourdomain.com
SSLEngine on
SSLCertificateFile /etc/ssl/certs/yourdomain.crt
SSLCertificateKeyFile /etc/ssl/private/yourdomain.key
SSLCertificateChainFile /etc/ssl/certs/ca_bundle.crt
...
</VirtualHost>
Restart the web server.
$ sudo systemctl restart nginx # For Nginx
$ sudo systemctl restart apache2 # For Apache
You have now successfully secured your Vultr Compute instance with an SSL certificate, ensuring encrypted and trusted communication for your users.