Charles Engelke's Blog

March 15, 2017

Let’s Encrypt on Google Compute Engine

Filed under: Uncategorized — Charles Engelke @ 4:08 pm

About a year ago I decided I wanted my personal website to be secure. That meant getting a TLS certificate, installing and configuring a web server, and setting things up so that insecure requests were redirected to secure ones. I got a free StartSSL certificate, set everything up on Amazon Web Services, and practiced benign neglect toward it.

Everything was fine for about year, and then I got a notice that my certificate would soon expire and need to be renewed. I could have just renewed the certificate, but I found several new problems:

  1. My site’s score on SSL Labs server test had dropped from an A to an F due to an Apache vulnerability I had not patched.
  2. StartSSL may be free, but it’s a pain to deal with, and I’ve been hearing great things about Let’s Encrypt and wanted to try it out.
  3. StartSSL is part of StartCom, and they have been making browser vendors upset with their security practices. So upset, in fact, that both Mozilla and Chrome will no longer treat their certificates as trusted.
  4. A highly recommended tool to use with Let’s Encrypt, certbot, didn’t seem to fully support the AWS Linux environment my server was using.

So I went with my preferred way of updating systems: build a new one from scratch then throw the old one away. Working in the cloud makes this easy. And if I’m going to start from scratch, I want to try new things out in the process.

My new environment is on Google Compute Engine, running on a micro Linux server instance. The console tells me that will cost $4.28 per month, which is a great deal. But last week at Google Cloud Next they announced their new free tier, which includes one such instance at no cost. So hosting for my site will actually cost me nothing. The Let’s Encrypt certificate is also free, and all the software I’m using is free and open source, too. In fact, the domain is the only thing I need to pay for.

This was a worthwhile exercise for me, so I’m going to use a few posts here to go over the steps it took to do it. First, I’ll go over how to create and connect to a new Linux instance on Compute Engine, then installing and configuring Apache web server, and finally setting up certbot to install and automatically renew certificates from Let’s Encrypt. Watch this space over the next few days for those posts.



  1. […] time: overview of a project to set up a webserver with Let’s Encrypt on Google Compute […]

    Pingback by Creating a Compute Engine Instance | Charles Engelke's Blog — March 16, 2017 @ 3:33 pm | Reply

  2. How’s it going with your Let’s Encrypt and Google Compute Engine exercise? Playing with Google Cloud at the moment and am about to get my hands dirty with setting up ssl certs for a site running on a vm.

    Comment by Pido Ayala — May 2, 2017 @ 3:07 pm | Reply

  3. Give it some love and Let’s Encrypt works fine on AWS as well. Read more here:

    Comment by Kristofer Källsbo — July 28, 2017 @ 1:14 pm | Reply

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at

%d bloggers like this: