1. Your are running your application in your local server 192.168.1.10 in Ubuntu
2. Port 80 is forwarded in your router to 192.168.1.10
3. Your real ip (of the router) is bind with yourdomain.com in the dns-zone in your domain control panel.
4. You want your site in https://yourdomain.com
1. Login to server using ssh tool like putty
2. Install openssl and certbot (google it for how to install these)
3. Type the command,
certbot certonly --manual -d *.yourdomain.com --agree-tos --no-bootstrap --manual-public-ip-logging-ok --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory
4. Add the txt record in your domain zone editor. Check you domain control panel.
5. Wait for 10mins to hit the continue button. it is safe to give time to update the txt record in dns. You can check the txt value status using some tools like https://mxtoolbox.com/.
6. One the certificate creation is successful, you can find the certificate in “/etc/letsencrypt/live/” folder
You can put the certificate in your domain control panel or if you are managing your server, configure virtual host for the certificate files.