Moving a Ghost blog from http to https with letsencrypt!

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!

Moving a Ghost blog from http to https with letsencrypt!
Share this