我们有一个 RDS(远程桌面服务)部署,最近按照以下说明安装了 HTML5 Web 客户端:
我们的部署托管在域 A 上,该域有一个活动目录实例。域 B 也有自己的活动目录实例,两者之间存在双向信任。
我们遇到的问题是,传统的 RD Web 访问对所有用户都适用,但当域 B 中的用户登录 HTML 5 Web 客户端并尝试打开应用程序时,他们会收到一条消息“由于错误,我们无法连接到网关”。同时,浏览器控制台显示以下错误:
连接(ERR):连接生成内部异常,断开连接代码 = GatewayProtocolError(52),扩展代码 =,原因 = 网关隧道授权失败,错误代码 = 2147965403
在故障排除过程中,我们尝试过:
- 已验证所需端口已打开。
- 禁用网关、代理和会话主机之间的所有防火墙 — — 同样错误。
- 将公开信任的证书重新应用于 HTML5 客户端(通过 Import-RDWebClientBrokerCert)——同样的错误
- 已验证正确的证书是否绑定到 HTML5 客户端 – 同样的错误。
- 通过设置 GPO 启用 NTLM:计算机配置 -> 策略 -> Windows 设置 -> 安全设置 -> 本地策略 -> 安全选项 -> 网络安全:限制 NTLM:此域中的 NTLM 身份验证。要“禁用”(在与 RDP 相同的域内)– 同样的错误。
- 运行 regsvr32 wksprtps.dll(dll 已注册,但仍然尝试)
- 已验证是否安装了去年 7 月所需的 KB4025334,或者不需要(操作系统是最新的)
对于我们可以研究的其他领域还有什么想法吗?
答案1
今天遇到了这个问题,但没有在网上看到解决方案,所以我觉得应该发布我解决问题的方法。
对我来说,问题出在 RD 网关上。在 RD 网关管理器中,需要更新资源授权策略。虽然我们有一个启用域用户的策略,但它仅限于域计算机。使用 mstsc 时,这很有效,但使用 Web 客户端时,客户端的 IP 地址被传递并且无效。
将网络资源更改为“允许用户连接到任何网络资源”解决了该问题。
我们在 TerminalServices - Gateway 事件日志中发现了此问题