GitHub页面:设置自定义域

时间:2014-04-16 01:29:06

标签: dns alias cname github-pages apex

我已经在GitHub中设置并运行了一个组织页面,但事情似乎正在发挥作用......但我有点困惑。我想真正理解这个过程,因为GitHub Help article指的是利用他们的CDN和DoS服务,所以请耐心等待。

第1步:使用域' example.com'

在repo中创建CNAME文件

第2步:dig example.github.io +nostats +nocomments +nocmd

获取IP

第3步:从步骤2输入IP到' A'记录(见下图)

我决定停在这里,看看它到底在哪里,令我惊讶的是它似乎完成了这个伎俩。 example.github.io域正确地重定向到example.com域并显示回购中的内容。

但是我被告知在DNS道具之后,你可以dig example.com看到指向example.github.io的CNAME记录。我没有看到这一点,我不喜欢认为我没有正确设置。欢迎任何想法/意见/建议,谢谢!

GoDaddy Domain DNS Zone File

3 个答案:

答案 0 :(得分:26)

为了利用GitHub页面提供的CDN和DoS服务,您需要设置子域(例如www.example.comblog.example.com)一个 Apex域example.com)。

在您引用的GitHub帮助页面中:

  

如果您使用的是顶点域(example.com)而不是子域   (www.example.com)并且您的DNS提供商不支持ALIAS   记录,那么您唯一的选择是使用DNS记录。这个   不会为您提供内容交付网络的好处。

这是一个设置(看起来你正在使用GoDaddy for DNS),它可以让你的组织页面按照需要运行:

DNS zone file on GoDaddy, set up for GitHub Pages

这实际上是针对Project Page中的Organization,但对于其中任何一个,您都会将www的CNAME记录设置为organization.github.io,而不是organization.github.io/project {1}}。不要更改@的A记录(我的是GoDaddy的默认值)。

如果您想让您的Apex域名(example.com)重定向到新的子域名www.example.com),那么您可以将您的Apex指向您的子域名Domain Forwarding,如下所示:

Domain Forwarding on GoDaddy

通过该设置,您将可以利用GitHub的CDN,您可能会注意到它是通过fastly提供的。以下是my domaindig的看法:

Domain info for www.jekyllblog.com

答案 1 :(得分:5)

也可以使用CloudFlare提供的免费DNS服务为APEX域使用CNAME记录,在这种情况下,您也可以使用不带www(或任何其他子域)的域名,并且仍然可以从中受益CDN&拒绝服务攻击。

我在这里写了一个循序渐进的指南:Speed up your GitHub Pages website with CloudFlare

PS:显然使用ALIAS记录是个坏主意...... click here to see why

答案 2 :(得分:0)

DNS记录是公开的。在这种情况下,没有办法掩盖它们。从你描述它的方式来看,你已经做好了一切。没有什么能让我错误地设置它。