子域(域名)可以有下划线_吗?


当前回答

刚刚创建了本地项目(与流浪者),它在通过ip地址访问时工作得很好。然后我添加了some_name。test to hosts文件,并尝试以这种方式访问它,但我一直得到“坏请求- 400”。浪费了好几个小时,直到我发现把域名改成某个名字。测试解决了问题。所以至少在Mac OS上是不行的。

其他回答

我参考了RFC1034的链接,阅读了大部分内容,并惊讶地看到了这个:

标签必须遵循ARPANET主机名规则。他们必须 以字母开头,以字母或数字结尾,内部相同 只能使用字母、数字和连字符。还有一些 长度限制。标签必须小于等于63个字符。

为了说明,域名由标签组成,标签之间用点“。”隔开。这个规范肯定过时了,因为它没有提到下划线的使用。如果有人在不知道这个规范已经过时的情况下偶然发现它,我可以理解这种困惑。它已经过时了,不是吗?

我参考了RFC2181的链接并阅读了其中的一些内容。特别是当它涉及到什么是权威或规范名称的问题,以及什么是有效的DNS标签的问题时。

正如之前发布的那样,它只限制了长度,然后总结起来是这样的:

(关于名称和有效标签)

这些已经被充分地指定了,但是这些规范有时似乎被忽略了。我们寻求加强现有的规范。

有点让我怀疑“只限制长度”是否“足够”。我们会开始看到像@#$%这样的域名吗!!很快吗?难道互联网还不够糟糕吗?

截至2022年,谷歌搜索中出现了子域名包含下划线的网站。

最近cab论坛(*)决定

在任何dNSName条目中包含下划线字符且有效期超过30天的所有证书必须在2019年1月15日之前撤销。https://cabforum.org/2018/11/12/ballot-sc-12-sunset-of-underscores-in-dnsnames/

这意味着您将不再允许在具有ssl/tls证书的域中使用下划线。

(*)证书颁发机构浏览器论坛(CA/浏览器论坛)是主要证书颁发者(定义见下文2.1(a)(1)和(2)节)和互联网浏览器软件和其他使用证书的应用程序供应商(定义见下文2.1(a)(3)节)的自愿聚会。

个人顶级域名可以在他们认为合适的情况下对域名设置自己的规则和限制,例如适应当地语言。

例如,根据CIRA,加拿大的。ca域名被允许:

字母a ~ z,以及以下重音字符:é ë ê è â à æ ô ù û ü ç î ï。请注意,域名不区分大小写。这意味着大写字母和小写字母之间没有区别(A = A); 数字0123456789和 连字符("-)(虽然不能用于域名的开头或结尾)。

最大长度为63个字符,每个重音字符减少4个字符的限制。

(源)


顺便说一句,这为。ca域提供了大约4个四次方的域名可能性(不包括子域名)。

刚刚创建了本地项目(与流浪者),它在通过ip地址访问时工作得很好。然后我添加了some_name。test to hosts文件,并尝试以这种方式访问它,但我一直得到“坏请求- 400”。浪费了好几个小时,直到我发现把域名改成某个名字。测试解决了问题。所以至少在Mac OS上是不行的。