1. 前言
本文面向需要整合或評估阿里雲 HTTPDNS 的 DoH(DNS over HTTPS)能力的開發人員,協助你快速定位到正確的文檔,通過本文您將瞭解到:
瞭解 DoH 與 HTTPDNS 的關係與適用情境
DoH 接入的主要步驟
2. DoH 與 HTTPDNS 對比說明
DoH(DNS over HTTPS)是指 DNS 查詢和響應通過 HTTPS 傳輸,利用 HTTPS 對 DNS 資料進行加密,可以有效防止資料被竊聽或篡改。HTTPDNS 與 DoH 都是通過 HTTP/HTTPS 通道繞過作業系統的 Local DNS 解析路徑,從而降低網域名稱劫持與汙染風險。HTTPDNS 產品除支援自身私人協議外,也支援 DoH 協議接入,但這兩種協議有各自的適用情境:
HTTPDNS 協議(私人協議)
優點:報文更輕量,便於擴充,流程可控,支援HTTP請求、身份鑒權、業務調度和批量解析加速等特性
不足:有一定的適配成本,可能會改變原來網路程式庫的使用方式和網路程式庫行為
DoH 協議( RFC8484 標準協議)
優點:格式固定,部分網路程式庫提供原生支援,適配成本低,網路程式庫行為與Local DNS保持一致
不足:無鑒權機制,不可擴充,網路程式庫DoH請求發起和結果緩衝策略無法幹預和最佳化
在用戶端網路程式庫封閉、通過 SDK 改造接入成本較高的情境下,如果底層架構(如基於 Chromium 核心的 CEF、Electron、Qt WebEngine 等)已開放 DoH 配置介面,則應優先選擇 DoH 方式接入。
DoH 協議不支援傳遞業務參數,因此不支援自訂解析
3. DoH接入步驟
在網路程式庫中接入 HTTPDNS DoH 分為以下幾步:
應用到網路程式庫或架構:
接入成功驗證:通過將手機 WIFI 網路的 DNS 伺服器設定為一個無效地址,觀察業務請求是否依然能夠正常發起,以此判斷 DoH 是否接入成功。
當然,您也可以通過訪問 DoH 直接擷取IP,不適配任何網路程式庫,可以參考DoH介面說明。本章主要介紹「配置DoH服務」、「DoH介面說明」和 「網路程式庫接入DoH」。