我正在尝试设置一个概念验证演示,用于通过 RemoteApp 部署应用程序,这是 Windows Server 2008 中的应用程序流式处理 RDP 的东西。
TS 网关服务器(称为 srv-web)和托管应用程序的框(称为 srv-app)是两个不同的框。
连接需要通过 TS 网关服务器通过 HTTPS,因为 srv-app 位于 NAT 后面的内部 LAN 上。
只有 srv-web 暴露在互联网上,并且只有端口 443 (HTTPS) 是开放的。
如果我忽略/接受各种警告,则连接工作得很好。
这里的目标是让我们的客户尽可能顺利地工作。
我在 srv-web 和 srv-app 上都安装了 SSL 证书。srv-web 设置为将其用于 TS 网关,并且工作正常。证书的 CN 与外部公共主机名匹配。
我收到的警告如下(我已经从屏幕截图中修改了真实的主机名)
我想,我的问题是如何选择 SSL 证书 srv-app 用于向连接的客户端提供其身份证明?
编辑:我找到了设置它的位置-它在远程桌面会话主机配置-> RDP-Tcp 属性,底部的常规选项卡中。
但是我还有另一个问题,可以预见的是,我现在的服务器名称不匹配:
我怀疑这将需要在某处进行拓扑更改。已经完成此操作的人的反馈会很棒。
编辑 2:我通过在自定义 RDP 设置中设置以下选项来解决这个问题。
authentication level:i:0
然而,这不是一个令人满意的解决方案,因为它只是禁用了检查。我仍然希望对此有更多反馈。
非常感谢。
在我看来,您似乎正在尝试使用其“内部名称”连接到服务器,但您选择了指定了“外部名称”的证书。
如果您希望“内部名称”在“防火墙后”工作并且您的 NAT 防火墙不支持“发夹式 NAT”(即 NAT 将来自 LAN 接口的请求返回到 LAN 接口),那么您可以这样做在您的内部 DNS 服务器中创建名为“publicname.ourdomain.com”的 DNS 区域的经典“作弊”,其中包含一个“@”记录,其中包含服务器计算机的内部 IP 地址。
这就像“水平分割 DNS”,但仅限于单个名称(因此“ourdomain.com”区域的其余部分的“正常”名称解析不受影响)。
我在我们自己的环境中看到了这一点。据我所见,网关隧道式 RDP 连接实际上将使用两组证书:首先它将加密客户端和网关之间的隧道,然后加密客户端和服务器之间的隧道(尽管此流量已经在网关安全隧道)。它也让我感到困惑,除了使用两个证书之外,我还没有找到任何其他“正确”的方法,一个与网关的外部名称匹配,一个与您的 TS 服务器的内部名称匹配。如果您发现任何问题,请更新此主题!
转到您的 rdp-tcp 属性并选择常规选项卡->并在属性表的底部选择您的外部证书。当 rdp 使用服务器本身的默认内部时,这将允许所有通信都基于外部证书而不是不匹配
环境
在自定义 RDP 设置中可以解决此问题(如我的问题中所述)
获取具有多个名称和本地主机名或 IP 地址的 SAN 证书。这将完美地工作。
如果您想在不降低身份验证级别的情况下解决此问题,请打开远程应用程序管理器并单击“RD 会话主机服务器设置”旁边的更改验证连接设置服务器名称是否具有 corerct 外部 DNS。在同一对话框中单击数字签名选项卡并将其设置为正确的 SSL 证书。
请注意,您还必须在 JT 发布的会话主机配置 RDP-Tcp 属性中配置外部证书。