GitHub Pages Custom Domains: When Your Project's Online Presence Stalls

For developers leveraging GitHub Pages to host project documentation, portfolios, or simple web applications, a smooth setup process for custom domains is crucial. However, a recent community discussion on GitHub’s platform reveals a frustrating bottleneck: custom domains failing DNS validation and TLS certificates getting stuck in a ‘new’ state, despite meticulous configuration. This issue directly impacts a project’s public accessibility and can significantly hinder developer productivity, especially when aiming for a polished software project dashboard or a reliable online presence.

A frustrated developer facing custom domain and TLS certificate errors on GitHub Pages.
A frustrated developer facing custom domain and TLS certificate errors on GitHub Pages.

The Persistent "InvalidDNSError" and Stuck TLS Certificates

The discussion, initiated by chiderlin, details a classic scenario: a GitHub Pages site (entech-office/entech-office.github.io) with a custom domain (accentech.jp) that, while reachable over HTTP, consistently reports "DNS check unsuccessful" and "InvalidDNSError." Crucially, the associated TLS certificate remains in a "Certificate Requested" / state "new" limbo, even after attempting to re-trigger the process.

chiderlin meticulously outlined their DNS setup, confirming:

  • Correct A and AAAA records pointing to GitHub Pages IP addresses.
  • A CNAME record for www.accentech.jp pointing to entech-office.github.io.
  • A publicly resolvable GitHub Pages domain-verification TXT record.
  • Absence of conflicting DNS records (A, AAAA, ALIAS, ANAME, CNAME, CAA).

Despite these correct configurations, GitHub Pages’ internal health checks reported failures, and the TLS certificate provisioning process stalled, even after removing and re-adding the custom domain—a documented troubleshooting step.

Diagram illustrating a stuck TLS certificate provisioning process between DNS and a certificate authority.
Diagram illustrating a stuck TLS certificate provisioning process between DNS and a certificate authority.

Expert Verification Points to GitHub's Internal Systems

Community member Sagargupta16 provided an in-depth analysis, independently verifying chiderlin's DNS configuration. They checked all relevant records (A, AAAA, CNAME, MX, NS, SOA) against multiple nameservers and public resolvers (8.8.8.8, 1.1.1.1). Their findings were unequivocal:

Nothing in your DNS needs changing; what is left is GitHub's certificate job. I checked every record the Pages health check asks for... from outside, every one of those lookups succeeds.

Sagargupta16 further confirmed that the _github-pages-challenge TXT record was present, CAA records permitted Let's Encrypt, and DNSSEC was not failing. The site responded with Server: GitHub.com over HTTP, indicating correct routing. The core issue, therefore, was not with the user's DNS setup but with GitHub's internal certificate provisioning queue and potentially its own DNS resolution mechanisms, which were reporting InvalidDNSError despite external success.

The recommended troubleshooting step of removing and re-adding the custom domain, which should "cancel and restart the provisioning process," was also noted to have a timeout of up to an hour. If the certificate remains in "new" state after this period, it strongly suggests an issue on GitHub's side.

A Broader Systemic Challenge

The problem isn't isolated. ToralionPL quickly confirmed experiencing the exact same issue with another GitHub Pages site (rclone.dowgirdowo.online). Their independent verification also showed correct DNS settings and a stuck certificate, reinforcing the idea that this is a systemic problem rather than an individual misconfiguration. This kind of platform-level issue can significantly impede a software engineer performance review by delaying project launches or updates, and frustrating efforts to maintain a professional online presence.

Impact on Developer Productivity and Project Visibility

When core infrastructure services like GitHub Pages fail to provision correctly, it creates significant friction for developers. Time spent debugging external DNS configurations that are, in fact, correct, is time diverted from core development tasks. It delays the deployment of crucial documentation, demos, or even the public face of a software project dashboard, impacting project visibility and team morale. For organizations relying on GitHub Pages for rapid deployment of static content, such outages or persistent issues can have a tangible effect on project timelines and overall developer efficiency.

What to Do When Your Certificate is Stuck

Based on the discussion, if you encounter this issue:

  • Double-check your DNS: Ensure A, AAAA, CNAME, and TXT records are precisely as GitHub Pages requires. Use external tools like dig or online DNS checkers.
  • Remove and Re-add: As a last resort for self-service, remove your custom domain from GitHub Pages settings, wait a few minutes, then re-add and save it. Give it up to an hour for the certificate provisioning to restart.
  • Contact GitHub Support: If the issue persists beyond an hour, especially after a re-add, and your organization is on a paid GitHub plan, opening a direct support ticket is the most effective route. For free plans, community discussions like this serve as a primary reporting mechanism.

This community insight highlights the critical need for robust and transparent infrastructure services to maintain high developer productivity and ensure seamless project deployment.

|

Dashboards, alerts, and review-ready summaries built on your GitHub activity.

 Install GitHub App to Start
Dashboard with engineering activity trends