如何设置DNS,让一个gitlab页面的根域和子域指向同一个地址?

Posted

技术标签:

【中文标题】如何设置DNS,让一个gitlab页面的根域和子域指向同一个地址?【英文标题】:How to set the DNS so that the root domain and the subdomain of a gitlab page point to the same address? 【发布时间】:2020-06-21 09:51:38 【问题描述】:

这是一个类似于this one的问题,但不完全相同。


我用 Hugo 创建了一个静态站点并将其托管在 gitlab 上。

我拥有一个由 tophost.it 分配给我的域,例如 example.it

如this document 中所述,特别是this paragraph (*) 中所述,我创建了 4 个 dns:

    @A35.185.44.232 wwwCNAMEexample.gitlab.io _gitlab-pages-verification-codeTXTgitlab-pages-verification-code = ... _gitlab-pages-verification-code.wwwTXTgitlab-pages-verification-code = ...

如果我在任何浏览器中输入example.it,我托管在 gitlab 上的网站将正常打开;如果我输入 www.example.it 我会收到以下错误消息:

401

您无权访问该资源。

您尝试访问的资源受到保护,您没有查看它的必要权限。

错在哪里?如何纠正它?那些在 gitlab 上托管网站的人能否向我解释他们如何设置 DNS 以连接他们的自定义域(带或不带“www”)?

(*):“在某些情况下,您需要将子域和根域都指向同一个网站,例如 example.comwww.example .com....”

【问题讨论】:

【参考方案1】:

您应该使用您的域的 IP 地址检查您的绑定。另外,请注意 “www.example.com”,www也是一个子域。但是,我建议您再次检查您在 DNS 区域中的绑定,尤其是检查 A 记录。

如果可能,请提供您的 DNS 设置。所以,我可以建议你更好

【讨论】:

1. “检查与我的域的 IP 地址的绑定”的程序是什么? 2.“A”记录与gitlab帮助页面描述的完全一致,IP地址相同。 3. 您是指所有 DNS 记录吗?我在问题中指出的还不够吗? 您可以从 IIS(Internet 信息服务)中查看。 2.输入您的站点指向的记录。 3. 是的,它会有很大帮助【参考方案2】:

文档具有误导性。而不是WWWCNAMEexample.gitlab.io,你想做的是WWWCNAMEexample.com,其中example.com是你的实际域名。 WWW 是一个正确的子域,这是一个明显的误解。它不是。从技术上讲,它是一个“前缀”。除了WWW 之外的任何东西都是一个适当的子域,无论它是移动特定子域,例如m 还是其他任何人创建的子域。除此之外,即使为 Apex 域和 WWW 前缀指定了 TLS 证书,它本质上也是 DNS 解析中的另一个。这就是为什么您会看到诸如 hp.com 之类的网站使用数字作为 www 后缀,例如 WWW8

【讨论】:

抱歉我的缺席。我希望您已经找到了解决方案,但是如果您还没有找到,我将无法查看 如何您的 CNAME 条目是输入的。话虽如此,可能必须输入www.example.com. 而不是短格式www。 DNS 服务器的行为/格式会有所不同。

以上是关于如何设置DNS,让一个gitlab页面的根域和子域指向同一个地址?的主要内容,如果未能解决你的问题,请参考以下文章

在根域和一个特定的子域上设置会话 cookie

Cloudflare DNS - 如何将所有子域重定向到根域?

同一域树下的提权利用方式(Golden Ticket+SID History)

如何在Heroku上使用Zerigo DNS将根级域重定向到www子域? [关闭]

DNS:当有其他DNS子域时,将根域转发到www ...

将所有子域重定向到新的根域