So, HTTPS is the new black, some rumours says that Google will start to rank pages with https higher than plain http sites.

That's great news, I want HTTPS on my site, let's do it.

Meet Let's Encrypt.

Let’s Encrypt is a new Certificate Authority: It’s free, automated, and open.

My blog platform is Ghost(node.js), im hosting it myself on an EC2 instance. Im using Nginx as a reverse proxy. I did some research of how much time I would need to spend to enable https version on my site and it turned out that the answer was something like...5 minutes. Yep :)

I followed this guide and it all went pretty smooth, but I encountered some problems, here's how I solved them:

  • When running the ./letsencrypt-auto command I got an error saying that letsencrypt was unable to verify my domains... Turns out that inbound traffic to port 443 was blocked on my server. Since im using EC2 all I needed to do was adding the port to my Security Group and then run the script again.

  • When I enabled https I got a mixed content warning in the console, turns out that my theme uses the {{blog.url}}-helper. To update the url of your Ghost blog, simply edit the file config.js located in the root of your site.

  • Disqus comments didn't show up. I needed to migrate all my threads from http to https. Go to http://yoursite.disqus.com/admin/discussions/migrate/ and click on Start URL mapper. Download the CSV file and then add a comma and your https adress after each link.
    Example: http://domain.com/hello-world , https://domain.com/hello-world

That's all I needed to do to get my site running on https, pretty sweet!