Unblocking GitHub Pages Custom Domains: Community Insights for Streamlined Deployments

Developer frustrated by DNS check, then finds a solution with Cloudflare.
Developer frustrated by DNS check, then finds a solution with Cloudflare.

The Frustration of Stuck GitHub Pages DNS Verification

For developers leveraging GitHub Pages, setting up a custom domain should be a straightforward process. However, as one recent community discussion highlights, this can sometimes become a significant roadblock, impacting project timelines and potentially key performance indicators (KPIs) for engineering managers.

A user, genpauls88-gif, reported a persistent issue with their GitHub Pages custom domain, stalnoykontur.ru. Despite correctly configuring the necessary A and CNAME records with their registrar, REG.RU, their GitHub Pages settings remained stuck on "DNS check in progress" for several days. While the site was accessible over HTTP, HTTPS was unavailable, and the "Enforce HTTPS" option was locked. The repository in question was https://github.com/genpaulss88-gif/stalnoy, and the CNAME file in the root was correctly set to stalnoykontur.ru.

Diagnosing the Root Cause: Nameserver Timeouts

The community quickly jumped in to help. bosmdavid-gif performed a deeper diagnostic, confirming that the user's DNS records appeared correct from public resolvers: four apex A records pointing to GitHub Pages IPs and a www CNAME. However, the crucial discovery was that direct queries to REG.RU's authoritative nameservers (e.g., ns1.reg.ru) for CAA records were timing out:

dig @194.58.117.17 stalnoykontur.ru CAA # ns1.reg.ru → timed out
dig @194.58.117.16 stalnoykontur.ru CAA # ns2.reg.ru → timed out

This indicated that while public DNS could resolve the domain, GitHub's internal Pages checker was encountering issues when trying to verify DNS records, specifically with CAA records, against REG.RU's nameservers. This pattern was identified as a recurring problem with certain .ru domains and REG.RU.

The Community-Proven Workaround: Cloudflare DNS

Given this recurring issue, bosmdavid-gif provided a proven workaround that had successfully resolved similar cases:

  1. Retain Registrar: Keep REG.RU as your domain registrar.
  2. Move DNS Hosting: Migrate your DNS hosting to a service like Cloudflare (the free tier is sufficient). Ensure that records are set to DNS only (not proxied).
  3. Recreate Records: In Cloudflare, recreate the four apex A records pointing to GitHub Pages IPs and the www CNAME record pointing to your-username.github.io.
  4. Wait for Propagation: Allow time for the DNS changes to propagate globally. You can verify this by checking that dig NS stalnoykontur.ru now shows Cloudflare's nameservers.
  5. Re-add Custom Domain: Once Cloudflare's nameservers are active, remove and then immediately re-add your custom domain once in your GitHub Pages settings.
  6. Patience: Leave the settings alone. Wait until "Enforce HTTPS" unlocks, which typically indicates successful certificate provisioning. If it remains stuck after approximately 24 hours, contact GitHub Support.

This workaround bypasses the problematic interaction between GitHub's DNS checker and REG.RU's nameservers by leveraging Cloudflare's robust DNS infrastructure.

Impact on Developer Productivity and KPIs

Such delays in custom domain setup can be incredibly frustrating and directly affect project timelines. For an engineering manager, ensuring smooth deployment pipelines and quick resolution of infrastructure bottlenecks is a critical KPI. When a seemingly simple step like DNS verification stalls, it can lead to wasted developer time and missed deadlines.

Staying informed through community discussions like these can serve as an invaluable git reporting tool, offering real-world solutions to common deployment challenges and ensuring that project delivery remains on track. It underscores the power of a collaborative community in troubleshooting complex technical issues that might otherwise halt progress.

Network diagram showing smooth data flow through a cloud DNS service to a secure website.
Network diagram showing smooth data flow through a cloud DNS service to a secure website.

|

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

 Install GitHub App to Start
Dashboard with engineering activity trends