Let’s Encrypt is a free, automated, and open certificate authority (CA), run for the public’s benefit. It is a service provided by the Internet Security Research Group (ISRG).
They give people digital certificates they need in order to enable HTTPS (SSL/TLS) for websites, for free, in the most user-friendly way we can. We do this because we want to create a more secure and privacy-respecting Web.
Certbot is an easy-to-use automatic client that fetches and deploys SSL/TLS certificates for your web server. Certbot was developed by EFF and others as a client for Let’s Encrypt and was previously known as “the official Let’s Encrypt client” or “the Let’s Encrypt Python client.” Certbot will also work with any other CAs that support the ACME protocol.
Here, we will implement https on a website www.techtutorial.online running on ubuntu 16.04 using apache2. The steps are more or less same for any linux distro.
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install python-certbot-apache
In case of nginx use
sudo apt-get install python-certbot-nginx
In case of nginx replace apache with nginx
Now it will show the list of all domains hosted there, you can select one or multiple domain separated by comma or space. You can also then choose if you want to redirect the http domain to https.
You can use the following command to specify a single domain
certbot --apache -d www.techtutorial.online
Renewing https certificate
The domain is secured for 90 days.
To renew the https certificate using certbot after that use
certbot renew --dry-run
Enjoy your secure https site now. There are also free SSL and other Public https license which you can use freely.