How to get a free SSL Certificate from AWS
In this article, we are going to learn how to get a free SSL Certificate from AWS. In our previous article, we have discussed how to add a domian with AWS Route 53. If you haven't read that article, I recommend you to read that article first. In this article I am not going to explain what is SSL and why we need it. If you want to know more about SSL, you can read this article by Cloudflare. For this tutorial, I am going to use AWS Certificate Manager (ACM) which is allow you easily provision, manage, and deploy public and private Secure Sockets Layer/Transport Layer Security (SSL/TLS) certificates for use with AWS services and your internal connected resources. In here we are going to use Public Certicate which is free of charge but have certian limitations. You can read more about Services integrated with AWS Certificate Manager here. Let's get started.
Prerequisite
Request a Public Certificate
To request a public certificate, follow the steps below.
You can use an asterisk (*) to create a wildcard certificate that protects several sites in the same domain. For example, *.yourdomain.com protects www.yourdomain.com, site.yourdomain.com, and images.yourdomain.com.
Validate the certificate(Route 53)
To validate the certificate, follow the steps below.
Validate the certificate(Other DNS providers)
If you are using other DNS provider, you can manually configure records in your DNS provider. I'll show you how to do it in Cloudflare DNS provider. If you are using other DNS provider, you can follow the same steps with your DNS provider.
The “CNAME name” on AWS will be something like: _a92bc41cwdw8esdsdb0cc56fa7a0b84ae7df.yourdomain.com
. But on NameCheap you need to only add: _a92bc41cwdw8esdsdb0cc56fa7a0b84ae7df
and for the “Value” or “IP Address” add the exact “Value” provided by AWS.
- It’s the same for any subdomain, including www.
The “CNAME name” on AWS will be something like: _a92bc41cwdw8esdsdb0cc56fa7a0b84ae7df.www.yourdomain.com
. But on NameCheap you need to only add: _a92bc41cwdw8esdsdb0cc56fa7a0b84ae7df.www
and for the “Value” or “IP Address” add the exact “Value” provided by AWS.