将GoDaddy DNS指向GitHub页面使用http而不是https

8
我在图像DNS设置中展示了我的DNS设置,以及一个额外的CNAME,其中主机www的值为我的GitHub页面。接下来,我在我的GitHub页面上设置了一个CNAME条目,将顶级条目指向我的域名。我面临的问题是,每当我使用https协议访问我的域名时,它都会显示一个警告,表明连接不安全。在Chrome中,我看到以下内容:

NET::ERR_CERT_COMMON_NAME_INVALID

我该如何解决这个问题?我已经为我的域名提供了http和https访问权限。
3个回答

19

更新:Github于2018年5月1日推出了自定义域名支持HTTPS。

如果您正在使用GoDaddy并想升级到HTTPS,请执行以下操作:

  1. 进入您在GoDaddy账户中网站的DNS设置。
  2. 删除所有现有的A记录。
  3. 打开终端并输入dig +noall +answer <YOUR-USERNAME>.github.io。您应该会看到一个表格,其中列出了4个略微不同的IP地址:enter image description here
  4. 在GoDaddy上创建4个新的A记录,每个记录指向其中一个IP。对于host,请使用@并将TTL设置为较低的用户定义值(如果您很着急)。
  5. 进入Github页面存储库设置,并清除自定义域名并保存。等待一段时间(几分钟)。
  6. 当执行dig +noall +answer <YOUR-CUSTOM-DOMAIN>返回您在A记录中输入的4个IP地址时,请返回Github存储库设置并在自定义域名单元格中重新输入并保存您刚才清除的自定义域名。
  7. 可选地,勾选Enforce HTTPS复选框。但请确保https://<YOUR-DOMAIN>先是响应正常的。

    • 请确保您在DNS设置中有一个CNAME记录。主机应为www,指向您的<YOUR-USERNAME>.github.io
    • 请确保您的网站存储库中有一个名为CNAME的文件,其中包含您自定义域名的名称(在我的情况下为ulfaslak.com)。

参考资料


2
我完全按照您的步骤操作,但是当我到达第七步时,复选框仍然没有启用。在禁用的复选框旁边,它指出我应该等待24小时以颁发证书。也许将此情况添加到您的步骤中会有所帮助? - joshmk
我的回答已经两年了,所以可能已经有所改变。欢迎您进行补充。 - Ulf Aslak
1
更新了注释,奇怪的是我的网站最终需要3天才能与https一起正常工作。 - joshmk

7

编辑:请参见Arturo Herrero的下面的答案:https://dev59.com/y6Lia4cB1Zd3GeqPocZ0#50203412

GitHub Pages不支持自定义域名的HTTPS。

唯一的解决方法是使用一个SSL提供商作为中间人,例如Cloudflare。但是,这将涉及将您的DNS名称服务器指向Cloudflare,这需要一些时间并使事情复杂化。

如果您想要在GitHub Pages上使用HTTPS支持,则必须使用GitHub提供的URL而不是您的自定义域名。

如果您想要自定义域名HTTPS的静态网站的另一个很好的选择是Amazon Web Services。您可以为您的静态网站设置S3存储桶,配置CloudFront以分发静态内容,将您的域名指向CloudFront分发,并使用Amazon的免费SSL证书管理器中的免费SSL证书。对于低流量网站,此选项每月不到1美元。该教程的详细说明可在此处找到。

希望这回答了您的问题! GitHub Pages是一个很好的托管选项,如果您决定忘记HTTPS也不是世界末日。


2
我正在使用Cloudflare,但我想知道是否可以不用它来完成这个任务。由于所有其他相关帖子都非常古老,我希望现在的情况已经有所改变。无论如何,感谢您的回答。 - 4kshay
没问题。我也曾经尝试过那种方法,但无法正常工作,所以我决定直接使用GitHub提供的HTTPS URL。我强烈建议你按照我在S3上发布的指南进行操作,因为现在我用它来制作静态网站,一旦掌握了它,就会觉得非常棒。上个月我一个网站的成本大约是0.65美元。 - user8122577

5

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接