在Github Pages上托管Jekyll博客并设置自定义子域名

21

我创建了一个由Jekyll提供支持的博客,并在GitHub Pages上进行托管。

现在,我想设置一个子域名(blog.example.com),但无法使其正常工作。

我已经添加了一个包含文本的CNAME文件:blog.example.com。而且我已经在我的Dreamhost帐户中为子域名添加了两个A记录,都指向由GitHub提供的204.232.175.78。

有任何关于缺失部分或者我是否做错了什么的想法吗?


你自修改以来等了多久? - Zentaurus
2个回答

64
  • Name = www
  • Type = CNAME
  • Value = yourusername.github.io. (yes there is a . at the end!)
  • 针对像example.comblog.example.com这样的域名设置有所不同。

    针对子域名: blog.example.com

    1. 在您的网页控制面板中,转到域名 | 管理域名
    2. 找到blog.example.com,单击操作列中的删除
    3. 等待10分钟,然后单击example.com下方的DNS链接
    4. 添加CNAME记录:
      • 名称 = blog
      • 类型 = CNAME
      • = yourusername.github.io.(是的,在末尾有一个.!)

    针对域名: example.com

    1. 在您的网页控制面板中,转到域名 | 管理域名
    2. 找到example.com,单击操作列中的编辑并切换到仅DNS托管(在底部)
    3. 返回域名 | 管理域名
    4. 单击下面example.comDNS链接
    5. 添加一个A记录:
      • 名称 = (空白,没有任何内容)
      • 类型 = A
      • = 185.199.108.153(来自 GitHub 的这个页面
    6. 添加一个CNAME记录:
      • 名称 = www
      • 类型 = CNAME
      • = yourusername.github.io.(是的,在末尾有一个.!)
  • Name = www
  • Type = CNAME
  • Value = yourusername.github.io.(是的,这里需要在结尾加上一个.
  • (是的,在这种情况下,您需要同时拥有ACNAME记录。)

    顺便说一下,我之所以知道这些,是因为我上周末也做了同样的事情。一开始我很迷茫,但是帮助支持人员帮了我一半,我自己解决了剩下的部分。这个过程对我有效,因为我两种情况都需要,所以我进行了测试。


    Janos,是的!谢谢,这个完美地解决了我的问题。我尝试投票支持它,但显然我仍然无法,而且我也不知道我可以回复评论。但无论如何,非常感谢您! - alejorivera
    2
    有没有办法同时实现这两个功能?即您的根URL是example.com,它显示example.github.io(您有一个名为example.github.io的存储库,您的用户名为example),并且blog.example.com转发到项目的gh-pages分支(您有一个名为blog的存储库,可在example.github.io/blog上使用)。 - chandlervdw
    @chandlervdw 我认为你只需要在Dreamhost中执行以下操作:添加新域名/子域名 -> 滚动到底部 -> 输入子域名和主机DNS -> 按照上面的设置设置CNAME即可。 - Coffee Cup
    谢谢,只是提醒一下,请确保您的域名上没有任何DNS重定向。我曾经有一个重定向,当我尝试添加www CNAME时一直出现错误。 - Justin Garrison
    4
    看起来新的IP地址是192.30.252.153和192.30.252.154,参见此处 - danvk
    1
    是我自己的问题还是Github确实没有提供关于需要CNAME记录的顶级域名情况的任何信息?感谢@janos澄清了这一点。 - mzrnsh

    2
    由于DNS记录在整个互联网上被缓存,这些更改可能需要几个小时才能生效。看起来您提供的地址现在已经正确解析了。

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