网络

DNS over HTTPS:浏览器隐私与控制

了解 DoH 如何改变 DNS 传输,以及代理和解析器仍能看到什么。

文档中心

想直接进入 网络 文档吗?

这篇文章属于博客内容库。若你要步骤化配置、参考说明和持续更新,请直接进入对应 docs 分区。

DNS over HTTPS(DoH)把 DNS 查询通过 HTTPS 发送到选定的解析器,而不是始终使用明文 DNS 路径。它可以减少本地网络读取或修改 DNS 流量的机会,但不会让浏览匿名。浏览器、操作系统、代理、解析器、目标网站和账户分别能看到请求的不同部分。

浏览器通过 HTTPS 将 DNS 查询发送到解析器,并显示代理与目标边界

DoH 改变了什么

传统 DNS 通常通过 UDP 或 TCP 访问操作系统或网络配置的解析器。DoH 把 DNS 交换放入 HTTPS,端点可以由浏览器、操作系统、管理员或用户选择。MDN DNS 指南说明了名称解析;DoH 改变的是传输和解析器关系,而不是目标网站的策略。

RFC 8484定义了 DNS 消息的 HTTP 映射,但没有要求所有浏览器提供相同设置,也没有要求每次查询都使用 DoH。根据策略与可用性,浏览器还可能使用系统、代理或回退路径。

浏览器控制与用户选择

DoH 是浏览器或操作系统策略,不是网页权限。浏览器可能提供自动、关闭或自定义提供商选项;企业策略可能接管设置;网络也可能阻止端点。网页无法可靠地检测或覆盖这一选择。

Firefox 和 Chrome 的文档展示了各自的控制项,默认值可能随版本变化。提供商名称不能证明所有 DNS、连接和遥测都走同一路径。不要要求用户为完成无关任务而违反管理员策略。

代理、解析器与目标边界

代理承载应用请求,解析器回答名称查询。按配置不同,浏览器可能先通过 DoH 解析再连接代理,也可能让代理解析,或在回退时使用系统路径。顺序取决于实现和策略。

解析器通常能看到查询名称和回答所需的元数据。代理能看到承载的连接及其日志。目标网站能看到到达它的请求,包括请求头和账户上下文。HTTPS 保护浏览器到 DoH 端点的链路,但不会让目标网站看不到自己的请求,也不会删除服务保留的记录。DNS 答案不能证明用户身份、位置或意图。

隐私限制与失败处理

DoH 可以减少本地 DNS 观察者看到的内容,但不能阻止解析器了解查询、代理了解连接,也不能阻止网站了解收到的请求。Cookie、存储、账户和应用遥测仍是独立的数据面。不要把 DNS 事件和其他浏览器信号合并成用户画像。

名称解析可能因端点不可用、策略、证书、门户或网络不兼容而失败。保持任务可用,提供清晰的重试或文档化替代方案。不要静默切换到未批准的解析器或无限重试;保存 resolver-unavailable 这类有限的阶段结果通常比保存查询名称更合适。

实用检查清单

记录解析器、控制者、声明的保留方式和已测试的浏览器版本。使用团队拥有的受控域名检查代理与解析器。测试受管、自定义、不可用和回退状态,不收集真实用户的查询历史。

控制项应说明影响的是浏览器、Profile 还是受管设备。管理员拥有的设置应为只读。工作流使用代理时参考 BotBrowser 代理配置指南。恰当的承诺应保持有限:解释路径、减少记录,并在解析器或策略变化时保持任务可用。

另请参阅防止 DNS 泄漏和代理、DNS 与 WebRTC 一致性。

负责任地选择解析器

解析器选择也属于治理决策。比较提供商公开的运营政策、保留说明和事件处理流程。加密传输并不会让提供商看不到查询名称。

回退路径与受控测试

在发布前定义回退:一次重试、清晰消息和文档化替代方案。使用团队控制的域名测试正常、不可用和受管端点,不收集真实查询历史。

解析器应匹配 Profile 用途:个人偏好、受管批准端点或测试专用域名。

不要只因供应商声称“私密”就选择它;核对运营者、保留、管辖区和事故流程。

供应商选择应独立于应用身份,网页不应无理由强制某个解析器。

浏览器可能使用 DoH、系统路径或管理员禁用;门户和操作系统也可能拦截 DNS。

发布前定义回退:公共页面可重试并显示离线状态,敏感流程可在批准解析器不可用时停止。

绝不静默切换到未经批准的端点,并把决定写入用户可见的说明。

浏览器更新、证书或策略变化都可能改变路径;重启或策略变化时重新计算。

Web 没有可移植 API 能证明具体解析器或 DoH 是否保护了查询;成功与耗时都不足以证明传输。

支持只需收集浏览器版本、Profile/策略状态、时间、可见错误和受控主机名,不要收集完整历史。

代理失败与解析失败要分开记录;代理也可能替浏览器解析名称。

DoH 只是一个控制项,Cookie、存储、权限、Referer、账户、日志和第三方资源仍会暴露上下文。

嵌入内容可能走另一条路径;不要把单个浏览器设置描述成整页都使用私密 DNS。

错误报告、截图和支持链接也可能泄露名称。只保留必要字段、脱敏并按期删除。

测试正常、不可用、受管策略、代理自解析和目标失败等结果,而非供应商宣传。

每种情况都检查消息准确性、表单数据保留和下一步,并使用实际支持的版本。

使用团队拥有的域名,排除测试名称进入分析,测试后删除记录。

耗时不能证明某个解析器或网络参与者。

常见问题。

记录 DoH 模式、责任团队、批准端点和回退条件。

浏览器、系统、代理或网络变化时复审策略,不承诺未来行为完全相同。

清晰区分“可用时使用安全 DNS”和“仅使用此提供商”。

受管设置应显示只读和支持渠道;无效的切换开关会误导用户。

限制重试、保留表单并在允许时提供手动或离线路径。

文档应使用测试主机名和脱敏阶段;DoH 不会保护所有浏览器信号。

DoH 会隐藏 IP 吗?不会;它只加密到解析器的 DNS,代理和目标仍可看到后续连接。

网页能知道 DoH 是否启用吗?不能通过可移植 Web API 可靠知道。

代理等于 DoH 解析器吗?不等于;解析器回答名称,代理承载连接且可能代为解析。

应用应强制指定解析器吗?仅在已审查的明确要求下,否则应遵守受管策略并解释失败。

DNS 失败时支持应收集阶段、版本、获授权的策略状态和时间,不要收集完整查询历史。

设置属于浏览器或系统,而不是网页;网页不能强制改变它。

解析器、代理和目标是不同观察者,应分别记录。

隐私承诺应只描述受保护链路,不应声称完全匿名。

DNS 响应不能证明身份、位置或意图。

诊断只应保存阶段和结果,不要保存查询名称。

来源

#DNS Over HTTPS#浏览器隐私#解析器#代理控制

让 BotBrowser 从研究走向生产

先用这些指南理解模型,再进入跨平台验证、隔离上下文和面向规模化的浏览器部署。