Skip to main content

Certbot install in AWS EC2 instance Amazon machine image for HA Proxy LB Server

If you try to install certbot you will get a message like below in Amazon machine image EC2 instance.
------------------------------------------------------------
Sorry, I don't know how to bootstrap Certbot on your operating system!

You will need to install OS dependencies, configure virtualenv, and run pip install manually.
Please see https://letsencrypt.readthedocs.org/en/latest/contributing.html#prerequisites
------------------------------------------------------------

Fix:
###

 Amazon Linux 2 doesn't have epel-release in its repositories, but I've found you can install the EPEL RPM package itself, and then you'll be able to install certbot or certbot-nginx from there.
  • Download the RPM
    curl -O http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    
  • Then install it
    sudo yum install epel-release-latest-7.noarch.rpm
    
  • Now you can install certbot
    sudo yum install certbot
    
  • And then run it as usual
    sudo certbot
    

Now give the below configuration in the /etc/haproxy/haproy.cfg file.
-------------------------------------------

frontend http_front

  bind *:80
  acl letsencrypt-acl path_beg /.well-known/acme-challenge/

  use_backend letsencrypt-backend if letsencrypt-acl

backend letsencrypt-backend
  server letsencrypt 127.0.0.1:8888
-------------------------------------------
Make sure that the port 8888 , 443 is allowed in your securitygroup.

systemctl restart haproxy

  • Now give the blow command for issuing Letsencrypt certficate: 
    sudo certbot certonly --standalone -d abc.example.com --non-interactive --agree-tos --email jino@youremail.com --http-01-port=8888
    
IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:

   /etc/letsencrypt/live/ndz.abtest.tk/fullchain.pem
   Your key file has been saved at:

   /etc/letsencrypt/live/ndz.abtest.tk/privkey.pem



  • Now concatenate the fullchain and private key file using the below command: 
    cat /etc/letsencrypt/live/abc.example.com/fullchain.pem /etc/letsencrypt/live/abc.example.com/privkey.pem | sudo tee /etc/letsencrypt/live/abc.example.com/abc.example.com-crt.pem
    

Now add the below line under the bind *:80

bind *:443 ssl crt /etc/letsencrpt/live/abc.example.com/abc.example.com-crt.pem

systemctl restart haproxy



Referal URLs:
############
https://serversforhackers.com/c/letsencrypt-with-haproxy
https://serverfault.com/questions/890212/looking-for-a-way-to-get-certbot-running-on-amazon-linux-2

That is all,
Cheers.

Comments