Thorsten Schminkel

GitHub Pages with Custom Domain using another Domain Provider

GitHub Pages

When I was trying to configure a custom domain for my blog on GitHub I got stuck while setting it up in the Github Pages configuration. The creation of SSL certificates within Github displayed a progress that never finished, no error message was show. Finally I found a solution which is not straight forward and includes additional steps on the domain provider side. The needed configuration may be specific for strato (www.strato.de) but may vary/apply to other domain providers as well.

We have a two step process. The fist step is the (1) configuration on GitHub and in the second step you need to setup the (2) configuration on the Domain Provider site, in my case Strato.

1. Configuration on GitHub

Go to the main page of your GitHub Repository Project --> Settings --> Pages and enter your custom domain (e.g. example.com) and save this.

Settings Button on GitHub
Settings Button on GitHub
GitHub Pages Configuration on GitHub
GitHub Pages Configuration on GitHub

This setting alone will lead to the never ending progress bar. You need to add a configuration on the domain provider side as well to make it work!

2. Configuration on Strato

2a. Domain configuration

  • Configure the A-Record for your domain and add one of these IPs (IPv4).
Github IPs v4
185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
  • Configure the AAAA-Record for your domain and add one of these IPs (IPv6).
Github IPs v6
2606:50c0:8000::153
2606:50c0:8001::153
2606:50c0:8002::153
2606:50c0:8003::153

This IPs are listed in the Github documentation, see links below.

2b. Sub-Domain configuration

  • Add www. subdomain for your domain.
  • Configure the A-Record and add an IP for the subdomain as for the domain.
  • Configure the AAAA-Record and add an IP for the subdomain as for the domain.

Adding the www. subdomain with an A-Record IP will do the trick here!

Strato Domain Configuration
Strato Domain Configuration

Links

Links that helped me finding this solution.

Documentation on GitHub

Github Community Post