I just finished rebuilding the torqsoftware.com website from a Joomla-based site to one built on the Astro JavaScript framework. The site has also shifted focus from a small business-oriented web page to a professional software developer homepage.
I’ve been lax in maintaining the website over the last decade, focused as I was on personal issues and challenges. Part of the problem was the workflow itself—editing the site through an admin page. To me, as a software developer, that’s a pretty crappy workflow. Editing Markdown, though it may seem strange to non-technical people, is just so much cleaner an experience.
I’m now using GitHub Pages as the hosting solution for the static website. This is very convenient and saves the hassle and additional expense of a hosting company for static sites. The very last step before publishing involved DNS-related changes. I did a bit of cleanup in the DNS setup at the same time, and everything looked fine. I got all the GitHub-required DNS records in place, but then came the wait—the requisite 24 hours for DNS propagation to occur, even though it should be quicker.
The very last hurdle was getting HTTPS working. GitHub just would not enable the “Enforce HTTPS” setting. This was quite frustrating because all you get is whether that checkbox is grayed out or not. There’s no window into any logs to give you a clue for its decision-making.
The solution ended up being that I needed to add a CAA record for Let’s Encrypt into the DNS records for the site. This wasn’t immediately obvious in my initial research into the problem, so I decided to post it here for the search engine gods to pick up and hopefully help others in the future.
@ 14400 CAA 0 issue letsencrypt.org
