To set up SSL with S3 hosted Jekyll websites you must use CloudFront

If you want to use SSL on your beautiful Jekyll website you’ll need to use Amazon CloudFront to serve your site. That’s just the way it is.

CloudFront, Amazon S3 and Jekyll

To try and clarify the relationship between these entities here’s a rough and ready diagram of the hierarchy:

  1. User requests webpage
  2. DNS directs request to CloudFront
  3. CloudFront sources files from S3
  4. User is served webpage by CloudFront
  5. User loses interest in your Jekyll site and Googles for cat gifs

Get your SSL for free!

There’s rather spiffing guide to rigging up CloudFront with Amazon S3 and getting a free SSL certificate from Amazon over at Medium…

Amazon S3 SSL set up bonus tip If you have your DNS set up with Amazon Route 53 you can skip the entire email set up section of the instructions linked to above. Just validate by DNS instead.