使用具有傳遞最佳化的 Proxy

代理需求

裝置需要直接存取 Delivery Optimization 雲端服務端點: *.prod.do.dsp.mp.microsoft.com。 設定你的代理伺服器允許流量到這個端點。 雖然 Delivery Optimization 可以利用 WinHttp 的自動代理偵測功能來處理代理通訊,但直接存取此端點可確保最佳的 P2P 連線與效能。

當代理執行以下任一行為時,建議使用代理繞過:

  • TLS檢查。
  • 掃描或修改回應內容。
  • 它隱藏了客戶端的真實公共 IP 位址,可能會對 P2P 連線產生負面影響。
  • 無法透過其他方式設定來避免上述行為。

繞過此端點有助於確保 Delivery Optimization 能準確識別同儕裝置並建立高效的 P2P 連線。

注意

如果無法允許直接上網,試著用群組下載模式 '2' 來定義對等群組。 了解更多 關於使用 Group DownloadMode 的資訊。

TLS 檢查要求

Delivery Optimization 在連接雲端服務端點時使用 憑證釘選 。 執行 TLS 檢查的代理 (也稱為 SSL 檢查或 HTTPS 攔截) 會用代理自身憑證授權機構簽署的憑證取代伺服器憑證。 這會破壞 Delivery Optimization 的憑證驗證,導致服務連線失敗。

重要

Delivery Optimization 及 Microsoft Connected Cache 端點 必須停用 TLS 檢查功能。 沒有解決方法——Delivery Optimization 不接受這些連線的替代憑證。

可免於 TLS 檢查的端點

請確保以下端點在您的代理或防火牆的 TLS 檢查繞過清單中:

端點 使用者 為何需要豁免
geo.prod.do.dsp.mp.microsoft.com DO 地理服務與 MCC 初始化 憑證釘選 — MCC 若攔截,會回報「地理憑證驗證失敗」
array*.prod.do.dsp.mp.microsoft.com DO 雲端服務 (對等節點發現、設定) 憑證釘選 — 若更換憑證,連線會失敗

關於 Delivery Optimization 與 Microsoft Connected Cache 所使用的完整端點清單,請參閱 Microsoft Connected Cache 內容與服務端點。

TLS 檢查對交付優化的影響

當 TLS 檢查在交付優化端點啟動時,你可能會遇到:

  • 點對點 (P2P) 下載失敗。 Delivery Optimization 無法連接雲端服務來發現對等節點,因此所有下載都只能回退到 CDN。
  • Microsoft 連接快取 (MCC) 發現失敗。 MCC 使用相同的雲端服務進行初始化。 如果地理服務連線失敗,MCC 就無法完成設定。
  • 下載會退回到僅 HTTP 連線。 雖然內容仍會下載,但你會失去 P2P 和 MCC 節省的頻寬。

確認 TLS 檢查沒有攔截 DO 流量

要確認代理沒有攔截 Delivery Optimization 連線,請在交換器上 -HealthCheck 執行 Delivery Optimization 故障排解器。 此系統檢查與 DO 服務端點的連接性並回報憑證驗證失敗。 詳情請參閱 「交付優化故障排除工具」。

如果健康檢查報告了 DO 服務端點的憑證驗證失敗,表示 TLS 檢查很可能仍在進行中,需要被繞過。

雲端代理設定 (Zscaler,類似)

如果你使用 Zscaler 或類似的雲端代理:

  1. 繞過 DO 服務主機名稱 (*.do.dsp.mp.microsoft.com) 從 TLS 檢查中移除,允許該流量直接傳送到網際網路。
  2. 內容 CDN 網址 (*.dl.delivery.mp.microsoft.com) 可選擇性地通過代理,但內容不得被修改。
  3. 確認代理不會更改用戶端的來源 IP 位址以進行 DO 服務呼叫 — Delivery Optimization 會利用用戶端的 IP 進行地理位置與對等匹配。

注意

() *.do.dsp.mp.microsoft.com 的 Delivery Optimization 服務呼叫無法透過改變用戶端 IP 位址的代理,因為該服務會利用該 IP 進行地理位置與對等匹配。 內容載荷會下載 (實際的更新檔案) 可以透過代理伺服器。

傳遞優化如何使用 WinHttp

當 Delivery Optimization 從 HTTP 來源下載內容時,會利用 WinHttp 的自動代理發現功能來處理複雜的代理設定。 Delivery Optimization 透過在所有 HTTP 呼叫中設定 WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY 標誌來實現此功能。

Delivery Optimization 為目前登入的使用者提供 WinHttp 一個令牌。 WinHttp 接著會利用這個令牌自動對使用者進行驗證,針對已設定的代理伺服器進行驗證。

設定代理

要啟用 Delivery Optimization 使用你的代理伺服器,請透過 Windows 代理設定 (WinINET(過去 Internet Explorer 代理設定) )來設定。

將 Windows 代理設定為全裝置,確保即使沒有使用者登入,裝置也能存取代理伺服器。 在這種情況下,若需要代理認證,代理會以「NetworkService」上下文存取。

注意

我們不建議使用 netsh winhttp set proxy ProxyServerName:PortNumber。 此指令無法自動偵測代理伺服器,不支援明確的 PAC URL,也無法驗證代理伺服器。 WinHTTP 對於使用互動式使用者標記的自動發現請求也會忽略它。

代理行為依使用者情境而定:

  • 當使用者登入時,系統會使用 Windows 代理伺服器。
  • 當沒有使用者登入且同時設定了 Windows 代理與 netsh 設定時,netsh 設定會優先。 這可能導致下載失敗,例如HTTP_E_STATUS_PROXY_AUTH_REQ或HTTP_E_STATUS_DENIED錯誤。

如果你的代理設定使用靜態 代理ServerName:Port,你可以用以下方式從Internet Explorer匯入代理設定:

netsh winhttp import proxy source=ie

然而,上述限制同樣適用於此匯入配置。

設定裝置範圍的 Windows 代理

你可以根據環境,使用行動裝置管理 (MDM) 或群組原則來設定裝置範圍代理。 這兩種方法都會對裝置上的所有使用者套用代理設定,確保 Delivery Optimization 能在所有情境下存取代理伺服器,包括沒有使用者登入時。

使用 MDM (行動裝置管理)

若要透過 MDM ((如 Intune) )為所有使用者設定代理設定,請使用 Network Proxy CSP。 此方法套用裝置範圍的代理設定,適用於所有使用者情境,包括互動使用者及背景服務如 NetworkService。

使用群組原則

如果你透過 Active Directory 管理裝置,可以透過啟用電腦 設定管理範本(Computer Configuration > Administrative Templates)、 > Windows 元件(Windows Components > Internet Explorer > )來對裝置上的所有使用者套用代理設定。將代理設定設為每台機器 (而非每使用者) 政策。

啟用此政策後,代理設定會統一套用於裝置上的所有使用者。 這表示所有使用者必須在裝置層級使用相同的代理設定組,且使用者無法用自己的代理設定覆蓋該設定。 如果你停用此政策或將其設為「未設定」,使用者可以自行建立代理設定。

Microsoft Connected Cache 在代理後方

如果你使用 Microsoft Connected Cache,可以設定 Connected Cache 伺服器使用代理伺服器來進行外掛網路連線。

連接快取伺服器的代理設定與 Delivery Optimization 的代理設定是分開的。 雖然 Delivery Optimization 用戶端需要代理設定才能抵達) 上述雲端服務 (,而 Connected Cache 伺服器本身也可能需要代理設定來存取 Microsoft 的內容伺服器。

Connected Cache 支援使用未認證的代理伺服器進行出站連線。 詳細設定步驟請參閱 Microsoft Connected Cache Proxy 設定

代理連線時序行為

當 Delivery Optimization 在代理伺服器後方運作時,初始下載可能需要較長時間才能開始。 這是因為 Delivery Optimization 必須在內容傳輸開始前,透過 Windows 網路元件進行代理偵測與使用者驗證。

請了解 Delivery Optimization 與代理連接行為的以下內容:

  • 多重連結:交付優化在客戶與不同的交付優化雲端服務之間建立多重連結。
  • 連線重用:Delivery Optimization 利用 WinHTTP 的連線池來重用連線。 當連線閒置約60秒時,連線會關閉。 後續請求必須建立新的連線,這可能會增加下載時間。

這額外的設定時間是正常且預期的行為,並不代表代理設定有問題。

設定行為摘要

以下表格展示了 Delivery Optimization 如何根據使用者情境處理不同的代理配置。 這些表格區分兩種情境:使用者主動登入時,以及下載時沒有互動使用者 (使用 NetworkService 上下文,通常用於背景或排程下載) 。

當互動使用者登入時:

配置方法 傳遞優化使用代理
Internet Explorer 代理 (目前使用者)
Internet Explorer 代理 (裝置範圍)
Netsh 代理
Internet Explorer 代理 (目前的使用者) 和 netsh 代理 是的,有使用 Internet Explorer 代理
Internet Explorer 代理 (裝置範圍的) 和 Netsh 代理 是的,有使用 Internet Explorer 代理

當 NetworkService 情境 (無使用者登入時) :

配置方法 傳遞優化使用代理
Internet Explorer 代理 (目前使用者)
Internet Explorer 代理 (裝置範圍)
Netsh 代理
Internet Explorer 代理 (目前的使用者) 和 netsh 代理 是的,有使用 netsh 代理
Internet Explorer 代理 (裝置範圍的) 和 Netsh 代理 是的,有使用 netsh 代理

提示

為了獲得最可靠的代理設定,請使用 裝置範圍的 Internet Explorer 代理設定。 此方法適用於使用者情境,並確保無論使用者是否登入,Delivery Optimization 都能存取代理伺服器。