全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 1275|回复: 9

[美国VPS] dns记录里的https记录有什么用,格式该怎么写?

[复制链接]
发表于 2023-2-20 22:13:33 | 显示全部楼层 |阅读模式
看到dnspod里多了个https记录,不过说明有点莫名其妙,感觉没搞懂。这玩意是直接在dns阶段声明网站支持https来加速解析性能的吗?


发表于 2023-2-20 23:09:31 来自手机 | 显示全部楼层
HTTPS 记录是一种特殊的 SVCB 记录,是很新的草案,如果对一个域名设置了 HTTPS 记录,就表明该域名支持 HTTPS 访问,在某种意义上,这等同于 HSTS 的效果,不过不需要嵌入浏览器,是客户端主动查询的。

它可以指定需要 HTTPS 访问的端口(意味着你可以在同一个子域名的不同端口分别使用 HTTP 和 HTTPS 而不出现问题)。

这是 IETF 草案的具体内容:
https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-svcb-https-11
发表于 2023-2-21 08:41:56 | 显示全部楼层
写两个示例吧:
  1. 1 xxx.xx.cdn.dnsv1.com alpn="h3,h3-29,h2" port=443
复制代码

1:区分0和其他,有两个模式,具体没搞懂,一般都是1,优先级为 0 时,表示别名模式(AliasMode)优先级不为 0 时,表示服务模式(ServiceMode)
xxx.xx.cdn.dnsv1.com:所指向的目标域名,有点CNAME的味道了,没有就写点,但是写点后一定要写ipv4hint或者(和)ipv6hint。
alpn:服务器支持的协议
port:服务端口

  1. 1 . alpn="h3,h3-29,h2" ipv4hint=104.26.14.53,104.26.15.53,172.67.70.22 ipv6hint=2606:4700:20::681a:e35,2606:4700:20::681a:f35,2606:4700:20::ac43:4616
复制代码

这是另一个示例:
ipv4hint:直接告诉客户端IPv4地址,客户端不再请求目标域名获取IPv4地址
ipv6hint:直接告诉客户端IPv6地址,客户端不再请求目标域名获取IPv6地址
发表于 2023-2-21 00:23:21 | 显示全部楼层
前几天刚琢磨这个东西。这东西的浏览器支持很奇特,首先网上没有找到有地方统计,有提一嘴的都是错的。然后我自己测试统计是 Safari 14+,Firefox(疑似)92+,Chromium 目前只支持没啥大用的部分。和一般 Chromium->Firefox->Safari 的跟进顺序正好相反。

和 CNAME 相似,但是 CNAME 按定义是将所有记录导向目标域名,一个域名有了 CNAME 记录按照标准就不能有 MX 之类别的记录了。HTTPS 记录按定义只涉及使用 HTTPS 协议的解析。等各浏览器客户端都落地支持后,CDN 以后主流可能就不是 CNAME 而是 HTTPS 接入了。

另外他还可以针对不同 Alpn 分别解析、指定端口、加密 Client Hello,可能未来对爬墙有帮助。
发表于 2023-2-20 23:17:16 | 显示全部楼层
  1. >dig type65 iks.moe @223.5.5.5

  2. ; <<>> DiG 9.16.23 <<>> type65 iks.moe @223.5.5.5
  3. ;; global options: +cmd
  4. ;; Got answer:
  5. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9363
  6. ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

  7. ;; OPT PSEUDOSECTION:
  8. ; EDNS: version: 0, flags:; udp: 1408
  9. ;; QUESTION SECTION:
  10. ;iks.moe.                       IN      HTTPS

  11. ;; ANSWER SECTION:
  12. iks.moe.                600     IN      HTTPS   1 . alpn="h2" ipv4hint=75.2.60.5,99.83.231.61

  13. ;; Query time: 20 msec
  14. ;; SERVER: 223.5.5.5#53(223.5.5.5)
  15. ;; WHEN: Mon Feb 20 23:17:03 ;; MSG SIZE  rcvd: 70
复制代码
发表于 2023-2-21 08:31:24 | 显示全部楼层
本帖最后由 rttw 于 2023-2-21 08:32 编辑
Ikex 发表于 2023-2-21 00:23
前几天刚琢磨这个东西。这东西的浏览器支持很奇特,首先网上没有找到有地方统计,有提一嘴的都是错的。然后 ...


这个记录类型实际大规模应用的只有苹果,严格来说还处于实验阶段
发表于 2023-2-21 13:30:47 | 显示全部楼层
本帖最后由 Ikex 于 2023-2-21 13:49 编辑
rttw 发表于 2023-2-21 08:41
写两个示例吧:

1:区分0和其他,有两个模式,具体没搞懂,一般都是1,优先级为 0 时,表示别名模式(AliasM ...


别名模式下后边的参数应为空(不过 DNSPod 目前会误报说格式不对,可以用 API 绕过),有也会被忽略,实际应用的参数会从所指向的目标域名取得。

两种模式有指向目标域名时目标域名后边也要跟一个点,比如
  1. 1 xxx.example.com. alpn=h2
复制代码


别名模式下用单个点时表示服务不可用,但是客户端允许尝试通过其他方式如一般的 A/AAAA 解析进行连接。服务模式下用单个点表示自己,此时也不一定要写 ipv4hint 或/和 ipv6hint,标准没有这个要求,这两个参数只是可选的用于加速解析的,没有这两个记录时会使用 A/AAAA 记录,有这两记录的时候也可能使用 A/AAAA 记录。
发表于 2023-2-21 14:02:46 | 显示全部楼层
本帖最后由 rttw 于 2023-2-21 14:08 编辑
Ikex 发表于 2023-2-21 13:30
别名模式下后边的参数应为空(不过 DNSPod 目前会误报说格式不对,可以用 API 绕过),有也会被忽略,实 ...


确实,不过现阶段来看配置这玩意目的就是优化域名在苹果客户端的解析,所以提示符还是配置下比较好,不过就在高版本的dig上实验来看,不管你没配置ipvxhint,递归会把目标域名A/AAAA一起返回,不需要再次查询

补张没配置IPvxhint的图:
发表于 2023-2-21 14:19:49 | 显示全部楼层
本帖最后由 Ikex 于 2023-2-21 14:29 编辑
rttw 发表于 2023-2-21 14:02
确实,不过现阶段来看配置这玩意目的就是优化域名在苹果客户端的解析,所以提示符还是配置下比较好,不过 ...


确实。刚才又看了下标准,对于单个点的目标域名,不仅不要求加 hint,还建议在客户端都合规时不加,因为没用。我看 Cloudflare 加了,估计一些老版本客户端没有完全按标准解析,对于这些可能有一定加速效果吧。比如 Firefox,我看他们是一小步一小步跟进该草案的,有很多性能优化还没合并,可能就包括这个。估计老版本的 Safari 也有这个问题。
发表于 2023-2-21 14:26:39 | 显示全部楼层
这个对 dns 劫持有没有影响
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-7 05:24 , Processed in 0.065088 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表