設定內部部署資料閘道的 Proxy 設定

您的工作環境可能需要您透過 Proxy 來存取網際網路。 這項需求可能會防止 Microsoft 內部部署資料閘道連線到服務。

下列文章 superuser.com 討論如何嘗試判斷您的網路上是否有 Proxy:如何? 知道我所使用的 Proxy 伺服器為何?(SuperUser.com)

雖然大部分的閘道組態設定都可以使用內部部署數據閘道應用程式來變更,但 Proxy 資訊是在 .NET 組態檔內設定。 根據您使用的閘道,位置和檔名不同。

有三個組態檔與搭配內部部署數據閘道使用 Proxy 相關聯。 下列兩個主要組態檔會套用至閘道及其組態程式。

  • 第一個檔案適用於實際設定閘道的組態畫面。 如果您在設定閘道時遇到問題,請查看下列檔案: C:\Program Files\On-premises data gateway\enterprisegatewayconfigurator.exe.config。在內部部署數據閘道(個人模式)上,對應的檔案為 %LocalAppData%\Microsoft\On-premises 數據網關(個人模式)\PersonalGatewayConfigurator.exe.config
  • 第二個檔案適用於使用閘道與雲端服務互動的實際 Windows 服務。 此檔案會處理要求: C:\Program Files\On-premises data gateway\Microsoft.PowerBI.EnterpriseGateway.exe.config。在內部部署數據閘道(個人模式)上,對應的檔案為 %LocalAppData%\Microsoft\On-premises 數據閘道(個人模式)\Microsoft.PowerBI.DataMovement.PersonalGateway.exe.config

如果您要變更 Proxy 組態,則必須編輯這些檔案,讓這兩個檔案中的 Proxy 組態完全相同。

必須編輯第三個組態檔,網關才能透過 Proxy 連線到雲端數據源。

  • C:\Program Files\On-premises data gateway\m\Microsoft.Mashup.Container.NetFX45.exe.config

在內部部署數據閘道(個人模式)上,對應的檔案為 %LocalAppData%\Microsoft\On-premises 數據網關(個人模式)\m\Microsoft.Mashup.Container.NetFX45.exe.config

下一節說明如何編輯這些檔案。

設定 Proxy 設定

下列範例顯示兩個主要組態檔中都找到的預設 Proxy 組態。

<system.net>
    <defaultProxy useDefaultCredentials="true" />
</system.net>

默認組態適用於 Windows 驗證。 如果您的 Proxy 使用另一種形式的驗證,您必須變更設定。 如果您不確定,請連絡您的網路管理員。

我們不建議使用基本 Proxy 驗證。 使用基本 Proxy 驗證可能會導致 Proxy 驗證錯誤導致閘道未正確設定。 使用更強的 Proxy 驗證機制來解析。

除了使用預設認證之外,您還可以新增 <proxy> 元素以更詳細地定義 Proxy 伺服器設定。 例如,您可以藉由將 bypassonlocal 參數設定為 false,指定內部部署數據網關應該一律使用 Proxy,即使是本機資源也一樣。 此設定有助於疑難解答情況,以便追蹤來自 Proxy 記錄檔中閘道的所有 HTTPS 要求。 下列範例組態會指定所有要求都必須經過IP位址為192.168.1.10的特定 Proxy。

<system.net>
    <defaultProxy useDefaultCredentials="true">
        <proxy  
            autoDetect="false"  
            proxyaddress="http://192.168.1.10:3128"  
            bypassonlocal="false"  
            usesystemdefault="false"
        />  
    </defaultProxy>
</system.net>

如果您想要閘道透過網關聯機到雲端數據源,您也需要編輯 Microsoft.Mashup.Container.NetFX45.exe.config 檔案。

在檔案中 <configurations> ,展開 區段以包含下列內容,並使用您的 Proxy 資訊更新 proxyaddress 屬性。 下列範例會透過IP位址為192.168.1.10的特定 Proxy路由傳送所有雲端要求。

<configuration>
    <system.net>
        <defaultProxy useDefaultCredentials="true" enabled="true">
        <proxy proxyaddress="http://192.168.1.10:3128" bypassonlocal="true" />
        </defaultProxy>
    </system.net>
</configuration>

如果您的 Proxy 是所有因特網通訊的需求,特別是針對網路安全且鎖定的公司使用方式,則可能需要設定第三個檔案。 如果閘道通訊需要 Proxy,則任何來自容器的因特網流量可能也需要 Proxy。 在此情況下,閘道似乎正在順利運作,直到任何容器進行任何外部 (因特網) 查詢為止。 此問題特別適用於數據流,其會嘗試將內部部署數據產生的查詢推送至 Azure Data Lake 儲存體。 但是,當網關查詢將內部部署語意模型與因特網系結語意模型合併時,也適用於此模型。

若要深入瞭解 .NET 組態檔的 Proxy 元素組態,請移至 defaultProxy 元素(網路設定)。

設定輸出目的地的閘道

此外,若要搭配輸出目的地使用閘道,閘道可能需要設定為能夠通過防火牆或 Proxy 來聯機到目的地數據源。 如果您使用 Proxy 伺服器,此傳遞可能需要適當目的地的啟用清單 URL,例如適用於 LakeHouse 的 *.datawarehouse.pbidedicated.windows.net、Data Lake 的 *.dfs.core.windows.net 等等。

注意

如果您使用 LakeHouse 目的地,則必須至少執行 2023 年 5 月版本的閘道。 在此版本之前,閘道版本無法使用 Lakehouse 連接器。

將閘道服務帳戶變更為網域使用者

如先前所述,當您將 Proxy 設定為使用預設認證時,可能會遇到 Proxy 的驗證問題。 當預設服務帳戶是服務 SID,而不是已驗證的網域使用者時,就會發生這種情況。 如果貴組織的 Proxy 需要網域帳戶才能驗證要求,您可以將閘道的服務帳戶變更為網域服務帳戶。 這項變更可讓您使用 Proxy 進行適當的驗證。 如需如何變更閘道服務帳戶的詳細資訊,請移至 變更內部部署數據閘道服務帳戶

注意

我們建議您使用受管理的服務帳戶,以避免必須重設密碼。 瞭解如何在 Active Directory 內建立 受控服務帳戶

下一步