How to Install Let’s Encrypt SSL Certificate with Nginx on Ubuntu 22.04

Secure your websites with a free Let’s Encrypt SSL certificate using Nginx on Ubuntu 22.04. This guide from EcoStack Cloud covers the installation and configuration of SSL to ensure encrypted and secure communications for your NVMe VPS.

ssl nginx
Medium
VPS
2
vCPU
8 GB
Memory
80 GB
NVMe Disk
4096 GB
Traffic
20.90
/month
* Up to 4 vCPU, 24GB RAM, 240GB NVMe Disk Space and 1Gbit/s Network Speed
#### Prerequisites Before you begin, ensure you have: - An NVMe VPS from [EcoStack Cloud](https://ecostack.cloud) running Ubuntu 22.04. - Nginx installed and running. - A domain name pointed to your server’s IP address. - Sudo privileges on your server. #### Step 1: Install Certbot and Nginx Plugin Certbot is a tool to automate the installation of Let’s Encrypt SSL certificates. Install Certbot and its Nginx plugin using the following commands: ```bash sudo apt update sudo apt install certbot python3-certbot-nginx -y ``` #### Step 2: Verify Nginx Configuration Ensure that Nginx is correctly installed and running. You can check the status of Nginx with: ```bash sudo systemctl status nginx ``` Make sure that your domain is properly configured in Nginx. If not, you can create or modify your site configuration in `/etc/nginx/sites-available/`. For example, you can create a basic configuration file: ```bash sudo nano /etc/nginx/sites-available/your_domain ``` Replace `your_domain` with your actual domain name and add the following configuration: ```nginx server { listen 80; server_name your_domain www.your_domain; root /var/www/your_domain; index index.html index.htm index.nginx-debian.html; location / { try_files $uri $uri/ =404; } } ``` Create a symbolic link to enable the site: ```bash sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/ ``` Test the configuration to make sure there are no syntax errors: ```bash sudo nginx -t ``` Then reload Nginx to apply the changes: ```bash sudo systemctl reload nginx ``` #### Step 3: Obtain an SSL Certificate Use Certbot to obtain an SSL certificate for your domain. Certbot will automatically update your Nginx configuration to use the SSL certificate. ```bash sudo certbot --nginx -d your_domain -d www.your_domain ``` Replace `your_domain` with your actual domain name. Follow the prompts to complete the setup. During this process, Certbot will: - Verify your domain. - Download and install the SSL certificate. - Configure Nginx to use the certificate. - Reload Nginx to apply the changes. #### Step 4: Verify SSL Installation Once the installation is complete, you can verify the SSL certificate by visiting your domain in a web browser. Use `https://your_domain` to ensure that the SSL certificate is active and the connection is secure. You can also use SSL Labs' SSL Test tool to check the certificate’s details and security grade. #### Step 5: Set Up Auto-Renewal Let’s Encrypt certificates are valid for 90 days. To ensure that your certificate is automatically renewed, Certbot creates a cron job to handle this. You can test the auto-renewal process with: ```bash sudo certbot renew --dry-run ``` This command simulates the renewal process without making any actual changes. If there are no errors, the auto-renewal is set up correctly. #### Conclusion You have successfully installed a Let’s Encrypt SSL certificate with Nginx on Ubuntu 22.04, provided by [EcoStack Cloud](https://ecostack.cloud). Your website is now secured with HTTPS, ensuring encrypted communication and enhanced trust with your visitors. For further information and advanced configurations, refer to the [official Certbot documentation](https://certbot.eff.org/docs/) and [Nginx documentation](https://nginx.org/en/docs/).


Created with ❤ at Estonia
EcoStack Technology OÜ