To secure your site or server with HTTPS, for this, you have to install Let’s Encrypt, then set up the free SSL certificate for your site or server on your AWS EC2 instance with Ubuntu Nginx server.
To enable HTTPS on aws ec2 instance with Ubuntu NGINX server, Just use sudo apt install certbot python3-certbot-nginx
to install Letsencrypt and then use the sudo certbot --nginx -d yourdomain.com -d subdomain.yourdomain.com
command to set up free SSL/TLS certificate for your server or site.
How to Install and Setup Free SSL Certificate with Let’s Encrypt on AWS EC2 Instance Ubuntu NGINX
Here are some steps to install and set up free SSL certificate with let’s Encrypt on AWS ec2 instance ubuntu NGINX server:
Step 1 – Connect to AWS Instance via SSH OR Putty
To connect Amazon AWS EC2 instance via putty SSH.
If you do not how to connect AWS EC2 instance via SSH, Read this => Connect AWS EC2 instance via ssh for Windows, Mac, and Linux users.
Step 2 – Update System Packages
To update the system’s packages, you need to use the sudo apt update
command on a terminal window:
sudo apt update
Step 3 – Install Nginx
To install Nginx on aws ec2 ubuntu server, simply type sudo apt install nginx
command on the aws ssh terminal window and press Enter:
sudo apt install nginx
Once it is installed, To start and enable NGINX server on aws ec2 instance using sudo systemctl start nginx && sudo systemctl enable nginx
command on ssh terminal window:
sudo systemctl start nginx
sudo systemctl enable nginx
Step 4 – Install Let’s Encrypt Certbot
To install Let’s Encrypt Certbot by using sudo apt install certbot python3-certbot-nginx
command on ssh terminal window to get HTTPS on AWS EC2 NGINX server:
sudo apt install certbot python3-certbot-nginx
Step 5 – Get and Set Up New Free SSL/TLS Certificate
To get and set up a free SSL certificate with let’s encryption on aws ec2 nginx ubuntu server, simply type sudo certbot –nginx -d yourdomain.com -d subdomain.yourdomain.com command on ssh terminal windows:
sudo certbot --nginx -d yourdomain.com -d subdomain.yourdomain.com
Step 6 – Configure NGINX Server to Activate SSL
To activate the free SSL certificate, you need to open default
configuration, which you can do by typing the sudo nano /etc/nginx/sites-available/default
command in an AWS Terminal window:
sudo nano /etc/nginx/sites-available/default
Once the default conf file is opened on SSH window, Add the following code in the default configuration file to activate the free SSL certificate:
server { listen 443 ssl; server_name yourdomain.com; ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem; location / { # Your Nginx configuration goes here } }
Step 6 – Restart NGINX Server
The best practice to check Nginx configuration for any syntax errors before restart server using the following command:
sudo nginx -t
Finally, restart nginx server:
sudo systemctl restart nginx
You have installed and setup the free SSL certificate for yourdomain.com
. Now your yourdomain.com
will run on HTTPS.
Conclusion
Through this tutorial, you have learned how to install Let’s Encrypt on aws ec2 instance with Nginx Ubuntu and set up a free SSL certificate to enable HTTPS on a site or server.