I have hosted domains on GoDaddy for a number of years now. While it provides web hosting, I have never used any of their hosting packages. For starters, I was keen on having a setup that gave me a lot more control than GoDaddy does. More to that, SSL certificates are a must-have for any web application today. While these are available, they come at a cost.
While there are plenty of options for web hosting, I’ve hosted applications on Amazon Web Services (AWS) for a number of years. With it, I had the level of control I desired but also got the bonus of SSL certificate management being done on my behalf.
The Amazon Certificate Manager (ACM) service from AWS allows one to get a free SSL certificate in a very hassle-free way. It has the added advantage of having the ability to generate certificates using wildcard domains. This means you can have an SSL certificate for example.com as well as *.example.com.
More to that, one doesn’t have to worry about renewing the certificate – ACM covers that on your behalf. One catch though is you can only use these certificates on specific AWS resources such as AWS load balancers. Another catch with AWS is pricing – it is generally pricier than the other options out there.
That said, if, like me, you host your web application on AWS but purchased a domain on GoDaddy, what do you do?
Well, there’s one option proposed here.
In addition to the accepted answer there, another option [and the one I use] is to create and configure an AWS hosted zone in AWS Route 53 following the steps below:
- Sign in to the AWS Management Console and open the Amazon Route 53
console at https://console.aws.amazon.com/route53/. - Select Hosted Zones then click Create Hosted Zone. More here on creating a hosted zone.
- You’ll need to ensure your hosted zone points to your load balancer. To do this, create an A record, leave the record name blank, select A – Routes traffic to an IPv4 address and some AWS resources, select alias and from the dropdown list returned, select your desired load balancer
- Lastly, go ahead and create a CNAME record and point it to the record you created in the previous step. If your domain is example.com, put www as the Record name, select CNAME – Routes traffic to another domain name and to some AWS resources for the Record Type and for value, put your domain – example.com.
Each hosted zone creates nameservers for you so on creating your hosted zone, your nameservers have the type NS in the hosted zone records. They are usually 4 of them. Get the provided name servers and update GoDaddy to use those nameservers for your domain.
Your GoDaddy domain will now be pointing to an AWS hosted zone which in turn points to your load balancer.