你的网站安全吗?这个DNS设置很多人漏掉了

你的网站安全吗?这个DNS设置很多人漏掉了

七月 05, 2026 http/3 dns quic web-performance https-record ssl networking ech

HTTP/3虽快,但你可能正在让它变慢

说个事儿,你可能没注意到。

现在每天有上百万网站在发生这种情况:用户敲下你的域名,浏览器解析DNS、建立TCP、完成TLS握手、发出HTTP请求……然后才收到通知:"不好意思,其实我支持HTTP/3的哦。"

你看,问题就在这儿——那个本来能让所有东西飞起来的协议,偏偏来得太晚了。

为什么会这样?

这不是浏览器的问题。根源在于Alt-Svc响应头本身的设计缺陷。

这个头只能等连接建立之后才能送达。连接都搭好了,你早就选了HTTP/1.1或HTTP/2当备选方案。HTTP/3再快,跟你第一波访客也没半毛钱关系。

解决方案:HTTPS DNS记录(RFC 9460)

好消息来了。2023年11月正式标准化的HTTPS记录,终于把这事儿搞定了。

它能做到的是:在浏览器还没发起任何连接之前,就把HTTP/3支持情况告诉人家。

怎么做到的?

DNS解析这步本来就要做,对吧?顺便塞点信息进去:

  • 支持哪些ALPN协议(h3、h2、http/1.1)
  • ECH加密客户端Hello的公钥
  • IP地址提示,让连接提前开始

等于说,你网站第一次被访问就能直接上QUIC和HTTP/3。没有浪费的握手,没有白跑一趟的协议发现。

这个ECH是什么情况?

HTTPS记录还顺手解决了一个HTTP头根本搞不定的问题——Encrypted Client Hello(ECH)

简单说,ECH把TLS握手里的ClientHello包本身给加密了,连SNI服务器名称都藏起来。运营商、ISP、WiFi热点想偷看你访问哪个网站?没门。

但是有个问题:你得先拿到ECH公钥才能发第一个ClientHello。可这时候根本还没建立连接,没地方传公钥啊。

典型的鸡生蛋蛋生鸡困境。

只有HTTPS DNS记录这种带外通道才能打破这个循环。HTTP头永远做不到,DNS可以。

怎么配置?

给你看个完整的ServiceMode例子:

example.com.  3600  IN  HTTPS  1  .  alpn="h3,h2"  ipv4hint=203.0.113.10  ipv6hint=2001:db8::10

逐个解释:

  • example.com. — 你的域名,记得最后带个点
  • 3600 — TTL,缓存时间(秒)
  • HTTPS — 记录类型
  • 1 — 优先级大于0就是ServiceMode,会带参数
  • . — 目标主机,点号表示"就用自己"
  • alpn="h3,h2" — 协议列表,排第一的最优先
  • ipv4hint / ipv6hint — 地址提示,提前开始连接

在我们NameOcean,后台直接就能配,跟管理其他DNS记录一样简单。又一个信号,说明我们在认真对待网站性能这件事。

旧浏览器怎么办?

放心,完全向后兼容

不支持HTTPS记录的客户端会直接无视它,乖乖走普通的A/AAAA查询。最多就是没用到HTTP/3优化,什么都不会坏。

所以今天就能上,毫无顾虑。它本身就是渐进式增强——现代浏览器读得到,旧浏览器当它不存在。

Alt-Svc头要不要删?

别删。留着。

Alt-Svc作为后备方案,专门照顾那些收不到HTTPS记录的情况:老浏览器、特定DNS配置、或者会过滤DNS响应的网络。

两招并用,滴水不漏:

  • 现代浏览器 + 支持HTTPS记录的DNS → DNS阶段就发现HTTP/3,火速QUIC连接
  • 老客户端或DNS被劫持 → 先连上再说,Alt-Svc兜底
  • 老访客再来 → 更好了,HTTP/3连接可以直接0-RTT恢复,第一个请求零握手就发出去

我的建议

HTTPS DNS记录属于那种投入极低、回报明显的优化。改个配置,第一次访问的延迟就能降一截。

如果你用CDN,先查查他们有没有自动帮你发这个记录——Cloudflare对托管域名是默认开启的。

自己管DNS的话,加个HTTPS记录也就十五分钟的事。值。

互联网在往HTTP/3演进,你的DNS也得跟上趟儿。


想优化DNS配置?NameOcean提供全套工具和指导,让你的基础设施不掉队。访客的首次连接,本来就不该等那么久。

Read in other languages:

RO PT PL NB NL HU IT FR ES DE DA EN