我拥有一个域(例如,example.com
)并希望:
- 使用我的公共 DNS自动更新
ext.example.com
(通过在 ISP 提供的 IP 更改后进行更新的脚本)→ 这有效 - 将顶点域 (
example.com
) 重定向到ext.example.com
) - 使用通配符
*.example.com
指向ext.example.com
为此,我将相关的 DNS 条目设置为 (+ SOA
, NS
)
IN DNAME ext.example.com.
* IN CNAME ext.example.com.
ext 60 IN A 350.299.1.1
查询时ext.example.com
我得到一个奇怪的答案:递归串联ext
ext.example.com. 3508 IN CNAME ext.ext.example.com.
ext.ext.example.com. 3508 IN CNAME ext.ext.ext.example.com.
ext.ext.ext.example.com. 3508 IN CNAME ext.ext.ext.ext.example.com.
(about 20 such lines in total)
似乎比赛是在*.example.com
(the CNAME
) 而不是ext.example.com
(the A
record) 上完成的。
有没有办法强制 DNS 的特异性?(即ext.example.com
提供更具体的,而不是更通用的通配符)
这是由于我对什么
DNAME
是缺乏了解。我认为它具有类似于
ALIAS
- 重定向顶点域的功能(不可能使用CNAME
)。它没有 - 它重新映射一个域。删除它解决了眼前的问题,但不是一般问题(如何处理不支持的裸域
ALIAS
)重定向域的 Apex 是一个古老的 DNS 限制,每年都变得越来越重要。
许多 DNS 供应商都有针对此限制的专有解决方案(例如 AWS 或 Cloudflare 的扁平化 CNAME,或 Neustar 的 ApexAlias 记录)。
但是您可能有兴趣知道如果该问题被整个行业接受,可以直接在 DNS 中实施该问题的解决方案草案。
有关提案草案,请参见此处
https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-svcb-https-01
或者为了更容易阅读,请参阅此处以获取 Cloudflare 的精彩文章
https://blog.cloudflare.com/speeding-up-https-and-http-3-negotiation-with-dns/