配置本地数据网关的代理设置

工作环境可能需要通过代理访问 Internet。 此要求可能会阻止Microsoft本地数据网关连接到服务。

以下文章 superuser.com 讨论如何尝试确定网络上是否有代理:如何知道我正在使用的代理服务器?(SuperUser.com)

尽管可以使用本地数据网关应用更改大多数网关配置设置,但代理信息是在 .NET 配置文件中配置的。 位置和文件名不同,具体取决于所使用的网关。

有四个配置文件与将代理与本地数据网关配合使用。 以下两个主要配置文件适用于网关及其配置过程。

  • 第一个文件用于配置网关的实际设置屏幕。 如果在配置网关时遇到问题,请查看以下文件: C:\Program Files\On-premises data gateway\enterprisegatewayconfigurator.exe.config。在本地数据网关(个人模式)中,相应的文件 %LocalAppData%\Microsoft\On-premises data gateway (personal mode)\PersonalGatewayConfigurator.exe.config
  • 第二个文件适用于使用网关与云服务交互的实际 Windows 服务。 此文件处理请求: C:\Program Files\On-premises data gateway\Microsoft.PowerBI.EnterpriseGateway.exe.config。在本地数据网关(个人模式)中,相应的文件 %LocalAppData%\Microsoft\On-premises data gateway (personal mode)\Microsoft.PowerBI.DataMovement.PersonalGateway.exe.config

如果要更改代理配置,则必须编辑这些文件,以便两个文件中的代理配置完全相同。

需要编辑第三个配置文件,网关才能通过代理连接到云数据源。

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

在本地数据网关(个人模式)中,相应的文件 %LocalAppData%\Microsoft\On-premises data gateway (personal mode)\m\Microsoft.Mashup.Container.NetFX45.exe.config

需要编辑第四个配置文件,网关才能通过代理连接到 Fabric Pipelines 服务。 自 2025 年 2 月版本(3000.258)以来,配置文件已重命名为:

  • C:\Program Files\On-premises data gateway\FabricIntegrationRuntime\5.0\Shared\FabricPipelineworker.exe.config

如果使用的是早期版本,则配置文件为:

  • C:\Program Files\On-premises data gateway\FabricIntegrationRuntime\5.0\Shared\Fabricworker.exe.config

以下部分介绍如何编辑这些文件。

配置代理设置

以下示例显示了在这两个主要配置文件中找到的默认代理配置。

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

默认配置适用于 Windows 身份验证。 如果代理使用另一种身份验证形式,则必须更改设置。 如果不确定,请与网络管理员联系。

不建议使用基本代理身份验证。 使用基本代理身份验证可能会导致代理身份验证错误导致网关未正确配置。 使用更强大的代理身份验证机制进行解析。

除了使用默认凭据之外,还可以添加一个 <proxy> 元素来更详细地定义代理服务器设置。 例如,可以通过将 bypassonlocal 参数设置为 false 来指定本地数据网关应始终使用代理(即使是本地资源)。 此设置有助于排查故障,以便跟踪来自代理日志文件中网关的所有 HTTPS 请求。 以下示例配置指定所有请求都必须通过 IP 地址为 192.168.1.10 的特定代理。

<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> 部分以包含以下内容,并使用代理信息更新 proxyaddress 属性。 以下示例使用 IP 地址 192.168.1.10 通过特定代理路由所有云请求。

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

如果您的代理对于所有互联网通信都是必需的,尤其是在公司网络安全和封闭的情况下,则可能需要配置第三个文件。 如果网关通信需要代理,则任何来自容器的 Internet 流量都可能需要该代理。 在这种情况下,在任何容器发出任何外部(Internet)查询之前,网关似乎都成功运行。 此问题特别适用于数据流,这些数据流尝试将生成的本地数据查询推送到 Azure Data Lake Storage。 但是,当网关查询将本地语义模型与 Internet 绑定的语义模型合并时,它也适用。

若要详细了解 .NET 配置文件的代理元素配置,请转到 defaultProxy 元素(网络设置)。

为输出目标配置网关

此外,若要将网关与输出目标配合使用,可能需要将网关配置为能够通过防火墙或代理访问目标数据源。 如果使用代理服务器,此传递可能需要启用列出适当目标的 URL,例如 *.datawarehouse.pbidedicated.windows.net 用于 LakeHouse、*.dfs.core.windows.net 用于 Data Lake 等。

注释

如果您正在使用 LakeHouse 作为目的地,则必须至少运行网关的 2023 年 5 月版本。 此版本之前,Lakehouse 连接器在网关版本中不可用。

将网关服务帐户更改为域用户

如前所述,将代理设置配置为使用默认凭据时,可能会遇到代理的身份验证问题。 当默认服务帐户是服务 SID 而不是经过身份验证的域用户时,会出现这种情况。 如果组织中的代理需要域帐户才能对请求进行身份验证,可以将网关的服务帐户更改为域服务帐户。 此更改允许使用代理进行适当的身份验证。 有关如何更改网关服务帐户的详细信息,请转到 “更改本地数据网关服务帐户”。

注释

建议使用托管服务帐户来避免重置密码。 了解如何在 Active Directory 中创建 托管服务帐户

后续步骤