I have a small Web Application site (running ASP.net Core) hosted on Microsoft Azure under a shared plan. Azure shared plans are budget friendly whilst providing features like custom domain names. Until recently the site was HTTP only which was initially fine for my use case but as HTTPS is becoming increasingly a minimum standard on most sites and even browsers are now warning users when navigating to unsecure sites, it was time to move to HTTPS.
Whilst setting up HTTPs certificates has got easier and cheaper there is still usually a trade off between effort and cost. I could have added SSL to my Azure subscription but I couldn’t justify that cost for the site in question. So I needed an easy and cheap solution – and I definitely found it with Cloudflare!
I am amazed how easy it was to set up SSL fronting of my existing site using Cloudflare’s SSL.
- Create an account at Cloudflare.com
- Enter your domain name where the site is hosted.
- Confirm the pricing plan (choose FREE)
- Cloudflare scans the domain’s DNS entries and asks you to confirm which entries you want proxying. Once done you’ll be given the new NameServers which you’ll need to update on your domain registar’s site.
- Once the NameServers have synced (could take minutes to 48 hours) you are done!
There are a few configuration modes for their SSL offering, e.g. full SSL (i.e. SSL from end users to Cloudflare to origin server) or Flexible (i.e. where the SSL stops at Cloudflare and traffic is not encrypted from your origin server to Cloudflare). The options you choose will depend on your setup and your requirements. As my site is hosted on Azure I got Full SSL encryption by default (using Azure’s SSL keys to encrypt traffic from my web server to Cloudflare).
You don’t need an Azure hosted site for this SSL goodness to work as they will front your service wherever its hosted.
This process was so easy I should have done it months ago. For more info checkout these resources:
- Troy Hunt detailed article:
- Syntax Podcast Episode: