我的目标是使用GitHub页面,并从CDN中受益 ,而无需使用支持DNS ALIASloggingtypes(或ANAME – 既不是可接受的标准)的第三方DNS主机。 我想知道他们是怎么做的,任何人都可以解释一下吗?
在这里我们有很多关于CNAMElogging的DNS别名的问题,但是在这种情况下,我不能将裸域名CNAMElogging到username.github.io 。
如果我使用Apache或Nginx来实现www.example.com作为GitHub Page的工作,它是否工作,我会打破任何像电子邮件?
阿帕奇
<VirtualHost *:80> ServerName example.com Redirect 301 / http://username.github.io/ </VirtualHost>
Nginx的
server { server_name example.com; return 301 http://username.github.io/; }
以上假定www => username.github.io的CNAME和裸域的A Record =>具有上述configuration的我的一台服务器。
而不必使用支持DNS ALIASloggingtypes的第三方DNS主机(或者ANAME – 既不是被接受的标准)
这句话是没有意义的。 在上述两种情况下,ALIAS和ANAME自定义DNStypes都在内部parsing为Alogging池。 因此,从最终用户的angular度来看,你并没有打破任何标准。 任何客户端试图连接到你configuration了ALIAS的主机名(我可以为DNSimple说话,因为我为他们工作)将返回相同列表的Alogging,将返回目标主机名。
但在这种特殊情况下,我不能CNAME裸体域名username.github.io。
理论上你可以,实际上你不想。 根据RFC,CNAME不能与任何其他loggingtypes共存。 这意味着,如果您将CNAME作为根域,则将影响与根域关联的任何其他logging,从而基本上破坏了您的根域function以解决问题。
如果我使用Apache或Nginx来实现www.example.com作为GitHub Page的工作,它是否工作,我会打破任何像电子邮件?
只要您不需要附加到该主机名的任何其他DNSlogging,就可以将www.example.comconfiguration为CNAME。 这通常是好的。
从Web服务器configuration,你没有什么需要做的。 如果将www.example.comconfiguration为username.github.io的CNAME,则任何对www.example.com请求都将parsing为与username.github.io关联的IP,并且GitHub Web服务器将处理该请求。
不过,在这种情况下,您还没有解决您想要对根域进行什么操作的问题。 此时,唯一能够做的就是将HTTP根域redirect到www.example.com主机名。
您提到的configuration片段将以这种方式工作。