如何设置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:
@
A
35.185.44.232
www
CNAME
example.gitlab.io
_gitlab-pages-verification-code
TXT
gitlab-pages-verification-code = ...
_gitlab-pages-verification-code.www
TXT
gitlab-pages-verification-code = ...
如果我在任何浏览器中输入example.it
,我托管在 gitlab 上的网站将正常打开;如果我输入 www.example.it
我会收到以下错误消息:
401
您无权访问该资源。
您尝试访问的资源受到保护,您没有查看它的必要权限。
错在哪里?如何纠正它?那些在 gitlab 上托管网站的人能否向我解释他们如何设置 DNS 以连接他们的自定义域(带或不带“www”)?
(*):“在某些情况下,您需要将子域和根域都指向同一个网站,例如 example.com 和 www.example .com....”
【问题讨论】:
【参考方案1】:您应该使用您的域的 IP 地址检查您的绑定。另外,请注意 “www.example.com”,www也是一个子域。但是,我建议您再次检查您在 DNS 区域中的绑定,尤其是检查 A 记录。
如果可能,请提供您的 DNS 设置。所以,我可以建议你更好
【讨论】:
1. “检查与我的域的 IP 地址的绑定”的程序是什么? 2.“A”记录与gitlab帮助页面描述的完全一致,IP地址相同。 3. 您是指所有 DNS 记录吗?我在问题中指出的还不够吗? 您可以从 IIS(Internet 信息服务)中查看。 2.输入您的站点指向的记录。 3. 是的,它会有很大帮助【参考方案2】:文档具有误导性。而不是WWW
CNAME
example.gitlab.io
,你想做的是WWW
CNAME
example.com
,其中example.com
是你的实际域名。 WWW
是一个正确的子域,这是一个明显的误解。它不是。从技术上讲,它是一个“前缀”。除了WWW
之外的任何东西都是一个适当的子域,无论它是移动特定子域,例如m
还是其他任何人创建的子域。除此之外,即使为 Apex 域和 WWW
前缀指定了 TLS 证书,它本质上也是 DNS 解析中的另一个。这就是为什么您会看到诸如 hp.com
之类的网站使用数字作为 www 后缀,例如 WWW8
。
【讨论】:
抱歉我的缺席。我希望您已经找到了解决方案,但是如果您还没有找到,我将无法查看 如何您的 CNAME 条目是输入的。话虽如此,可能必须输入www.example.com.
而不是短格式www
。 DNS 服务器的行为/格式会有所不同。以上是关于如何设置DNS,让一个gitlab页面的根域和子域指向同一个地址?的主要内容,如果未能解决你的问题,请参考以下文章
Cloudflare DNS - 如何将所有子域重定向到根域?
同一域树下的提权利用方式(Golden Ticket+SID History)