在企业环境中,时常需要通过使用HTTP Proxy访问Internet,在使用HTTP Proxy访问Internet的环境中部署Microsoft Entra Connect和Microsoft Entra Connect Health Agents可能会遇到一些额外的配置步骤,以便这些服务能够正常连接到Internet。
一、HTTP Proxy环境下部署Microsoft Entra Connect
方式一:通过Internet Explorer设置HTTP Proxy
- 打开Windows Server上的 “Internet Explorer”。
- 进入 “Internet” 选项 -> “连接” -> “局域网设置”。
- 在“代理服务器”部分,勾选“为LAN使用代理服务器”,并输入代理服务器的IP地址和端口号。
- 确保绕过本地地址的代理服务器复选框已勾选。
方式二:通过系统设置HTTP Proxy
- 打开“开始”->“设置”->“网络和Internet”->“代理”;
- 在“手动设置代理”部分,勾选 “使用代理服务器”,并输入代理服务器的IP地址和端口号。
- 确保绕过“请勿将代理服务器用于本地地址”复选框已勾选。
方式三:通过命令行(CLI)设置HTTP Proxy
1. 以管理员身份打开 命令提示符 或 PowerShell。
2. 使用以下命令来设置HTTP Proxy:
netsh winhttp set proxy <proxy-server>:<port>
3. 使用以下命令查看代理设置是否生效:
netsh winhttp show proxy
方式四:修改配置文件设置HTTP Proxy
如果使用出站代理连接到 Internet,则必须在 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config 文件中添加以下设置,才能将安装向导和 Microsoft Entra Connect 同步连接到 Internet 和 Microsoft Entra。 必须在文件底部输入此文本。 在此代码中,<PROXYADDRESS> 代表实际代理 IP 地址或主机名。
<system.net><defaultProxy><proxyusesystemdefault="true"proxyaddress="http://<PROXYADDRESS>:<PROXYPORT>"bypassonlocal="true"/></defaultProxy></system.net>
如果代理服务器需要身份验证,服务帐户必须位于域中。 使用自定义设置安装路径指定自定义服务帐户。 还需要对 machine.config 进行不同的更改。在 machine.config 中进行此更改之后,安装向导和同步引擎响应来自代理服务器的身份验证请求。 在所有安装向导页中(“配置”页除外)都使用已登录用户的凭据。 在安装向导末尾的“配置”页上,上下文将切换到你创建的服务帐户。 machine.config 部分应如下所示:
<system.net><defaultProxy enabled="true" useDefaultCredentials="true"><proxyusesystemdefault="true"proxyaddress="http://<PROXYADDRESS>:<PROXYPORT>"bypassonlocal="true"/></defaultProxy></system.net>
如果代理配置是在现有设置中完成的,则需要重启一次 Microsoft Entra ID Sync 服务,以便 Microsoft Entra Connect 读取代理配置并更新行为。
当 Microsoft Entra Connect 在目录同步过程中向 Microsoft Entra ID 发送 Web 请求时,Microsoft Entra ID 最多可能需要 5 分钟才能做出响应。 代理服务器具有连接空闲超时配置很常见。 确保配置设置为至少 6 分钟或更长时间。
有关默认代理元素的详细信息,请参阅 MSDN。 有关遇到连接问题时的详细信息,请参阅排查连接问题。
上述方式确保Windows系统能够通过代理连接到外部资源。Microsoft Entra Connect在其安装和操作期间会继承系统的代理设置。
二、HTTP Proxy环境下部署Microsoft Entra Connect Health Agents
可以将 Microsoft Entra Connect Health Agents配置为使用 HTTP 代理,但:
- Netsh WinHttp set ProxyServerAddress 不受支持。 代理使用 System.Net 而不是 Windows HTTP 服务发出 Web 请求。
- 配置的 HTTP 代理地址用于传递加密的 HTTP 消息。
- 不支持经过身份验证的代理(使用 HTTP Basic)。
若要将 Microsoft Entra Connect Health Agents配置为使用 HTTP 代理,你可以:
方式一:导入现有的代理设置
可以导入 Internet Explorer HTTP 代理设置,以便 Microsoft Entra Connect Health 代理可以使用这些设置。 在运行 Health 代理的每台服务器上运行以下 PowerShell 命令:
Set-MicrosoftEntraConnectHealthProxySettings -ImportFromInternetSettings
可以导入 WinHTTP 代理设置,以便 Microsoft Entra Connect Health 代理可以使用它们。 在运行 Health 代理的每台服务器上运行以下 PowerShell 命令:
Set-MicrosoftEntraConnectHealthProxySettings -ImportFromWinHttp
方式二:手动指定代理地址
可以手动指定代理服务器。 在运行 Health 代理的每台服务器上运行以下 PowerShell 命令:
Set-MicrosoftEntraConnectHealthProxySettings -HttpsProxyAddress address:port
通过上述方式,Microsoft Entra Connect和Health Agents应已成功部署并配置为通过HTTP Proxy访问Internet。现在可以开始使用这些服务来监控和管理你的混合身份环境了。
参考资料
https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-install-prerequisites#connectivity
https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-health-agent-install#configure-microsoft-entra-connect-health-agents-to-use-http-proxy