Setup Of My First Blog - Github Pages and CloudFlare

- 1 min

As you might have recognized already, this website/blog is using a Jekyll template and is based on github.pages.io. The advantages of using Jekyll are:

In particular, this website is using a Jekyll template called Indigo which is made by Sergio Kopplin. You can find it here. Credits to him for this minimalist masterpiece.

Github Configuration

After installing the template and adding small tweaks, the website was up and running. Next step was to add a custom domain to the Github repository. On the Settings page we need to check if the repository uses a custom domain name and doesn’t use HTTPs:

Github Settings

CloudFlare Configuration

After clicking on the DNS tab we can add a custom domain name to use CloudFlare DNS instead of your current ones. The import of all our existing configuration happens automatically.

The www CNAME record alias should redirects to your GitHub pages URL. So we ensure that the DNS respond address of www.florianjosefreheis.com is always florianjosefreheis.github.io. I also set up two A records to the DNS servers of my domain host DNS servers.

CloudFlare DNS Settings

Enforce HTTPs

After configuring CloudFlare DNS, we need to force all requests to use HTTPs. By clicking on the Crypto tab, we can change the SSL option to Full.

CloudFlare SSL Settings

The full mode encrypts all communication streams, even behind CloudFlare servers. The hosting server always needs to supports SSL. By using GitHub we need to stay in a loose mode, as GitHub won’t validate the SSL certificate with a custom domain name.

Depending on the DNS propagation time of our domain provider (which could take up to 48 hours), our site is now served in HTTPs.

More infos can be found in this CloudFlare blog post.

rss facebook twitter github youtube mail spotify lastfm instagram linkedin google google-plus pinterest medium vimeo stackoverflow reddit quora quora