ASCR 服务器配置
交互式客户端在借助 Application Server Controlled Resources 运行时,不再与每个运行时资源直接连接,但是,有些信息需要及时从运行时资源传回。为此,每个交互式客户端与其应用程序服务器建立一个新的回调连接,以允许传回此信息。客户端与服务器建立连接后,将下载服务器上指定的回调信息,然后使用该信息建立辅助连接,供服务器用于传回信息。
本节介绍如何在 Automated.config 引用的应用程序服务器配置中设置回调连接。此配置可以通过以下方式设置:
ASCR 设置应用于通过应用程序服务器与 Blue Prism 版本 7 连接的所有交互式客户端。将 Blue Prism 应用程序服务器从版本 6 升级到版本 7 时,服务器控制台的输出将显示一条消息,告知用户安全模式不能为无。这是为了确保 ASCR 设置已配置,如下所述。
有关用户在使用 ASCR 时(包括 ASCR 日志记录、连接和负载均衡)可能遇到的潜在问题故障排除的指导,请参阅 ASCR 故障排除和日志记录。
通过 BP 服务器配置 ASCR
此过程说明如何在 BPServer 中配置 ASCR,并且必须对所有 Blue Prism 应用程序服务器执行此过程。
- 打开 BPServer.exe。默认情况下,它位于 C:\Program Files\Blue Prism Limited\Blue Prism Automate 或 C:\Program Files (x86)\Blue Prism Limited\Blue Prism Automate\ 中,具体取决于您的安装环境。
- 要打开服务器配置,请从“当前配置”中选择相关环境,然后点击“编辑”。
-
选择“ASCR 设置”选项卡。
-
gRPC
这是默认的回调通道并需要具备 HTTP/2。应用程序服务器和连接到它的交互式客户端必须运行 Windows 11、Windows 10 、Windows Server 2016 或更高版本。
建议选择此选项。
WCF
此回调通道支持 Windows 11、Windows 10、Windows Server 2016 和更早版本。
仅当无法使用 gRPC 时,才应使用 WCF。
如果选择此选项,且服务登录帐户不是本地管理员,则需要运行下方的命令以授予服务登录帐户用户权限,以便使用默认端口设置启动侦听器:
如果 ASCR 主机名为空,请使用以下包含通配符的命令:
netsh http add urlacl url=http://+:80/bpinstruct user=<domain>\<user>
如果 ASCR 主机名明确存在,请使用以下命令并包括主机名:
netsh http add urlacl url=http://<fqdn>:80/bpinstruct user=<domain>\<user>
对于上述任一命令,应使用客户端入站端口号。上述示例显示端口号为 80 的默认端口,如果使用其他端口,您必须输入正确的端口号。
-
在“正在绑定设置”下,输入要将通道绑定到的主机名。
这是应用程序服务器的主机名,将由客户端用于连接到应用程序服务器以建立回调连接。您必须配置此主机名,以便在通过交互式客户端使用时,它能在配置的端口上解析为应用程序服务器。
-
如果使用负载均衡器,请输入所需的负载均衡器名称。如果未输入负载均衡器名称,则主机名称将用于建立回调连接。
-
输入所选回调协议所需的入站端口和出站端口。如果使用 gRPC,则只能配置入站端口值。如果使用 WCF,则两个值均可配置。
需要在所有 Blue Prism 应用程序服务器和交互式客户端中打开配置的端口。
在大多数环境中,通常假设防火墙设置不会阻止出站端口。如果您的环境中出站端口被阻止,请确保在防火墙规则中未阻止端口 10000(或者用于 ASCR 通信的指定端口,如果未使用默认值)。来自交互式客户端的出站端口和应用程序服务器上的入站端口应该在配置的端口上开放(默认为 10000)。
回调协议 机器 入站(侦听)端口
出站端口
gRPC 应用程序服务器
交互式客户端 10000(默认)
不适用 不适用
高端口范围 (49152 – 65535)
WCF 应用程序服务器
交互式客户端
10000(默认)
80(默认) 高端口范围 (49152 – 65535)
高端口范围 (49152 – 65535)
使用 WCF 时,必须在安装交互式客户端的用户计算机上运行以下命令。这是因为如果该用户不是本地管理员,则必须将传入端口绑定到客户端计算机上的用户。在本示例中,客户端机器可能需要针对指定的端口(例如 80)进行防火墙入站异常规则设置。
复制netsh http add urlacl url=http://+:80/bpinstruct user="domain\user"
应用程序服务器的出站端口 80 在此处充当了交互式客户端的入站端口 80。
-
在“安全设置”下,从以下选项中选择要应用到双工通道的安全模式:
证书
使用安全套接字层 (SSL) 证书。
Windows
Windows 集成身份验证和安全性。此选项仅适用于 WCF 回调协议。
不安全
回调协议将不受到保护。
-
如果您选择“证书”安全模式,系统将启用以下证书选项,并且您必须配置这些选项:
证书名称
这需要为主机名端点配置的证书。有关详细信息,请参阅证书要求。
证书名称是主题名称,但是,对于存在多个相似主题名称的情况,可以使用完全可分辨主题名称。
存储名称
选择将从中检索应用程序服务器证书的证书库的名称。
客户端证书名称
这需要为主机名端点配置的证书。需要为服务器上的相同端点配置客户端证书。有关详细信息,请参阅证书要求。
证书名称是主题名称,但是,对于存在多个相似主题名称的情况,可以使用完全可分辨主题名称。
存储名称
选择将从中检索交互式客户端证书的证书库的名称。
- 点击“保存”保存更改并应用安全设置。
通过命令行配置 ASCR
还可以使用以下命令通过 AutomateC 配置 ASCR 设置:
AutomateC/ascrconfig <servername> <conntype> [1 - grpc | 2 - wcf] <hostname> <port> <outbound port (wcf only)> <connectionmode> [1 - certificate | 2 - windows (wcf only) | 3 - insecure] <certificatename> <clientcertificatename> <ascrservercertstore> <ascrclientcertstore> [/loadbalancername <string>]
只有在 <connectionmode> 指定证书时才需要证书选项。
下表列出了相关命令和可能的值:
命令 |
值 |
---|---|
<conntype> |
|
<servername> |
BPServer.exe 中服务器配置的名称。默认情况下,这是默认设置。 |
<connectionmode> |
|
<port> <outbound port (wcf only)> |
使用 WCF 时出站端口的值。默认值为 80。 |
/loadbalancername <string> |
负载均衡器的名称(如果使用)。此命令是可选的。 |
有关这些命令和其他命令的更多信息,请通过 AutomateC 命令行输入 /help 以参阅命令行帮助。
证书要求
证书安全模式会对客户端和服务器之间交换的所有数据进行加密。鉴于 ASCR 信道利用 WCF 消息传递,证书安全的主要目的是加密运行时资源变化数据事件,而不是用于身份验证。
如果您选择使用“证书”安全模式,则需要服务器和客户端证书,而且两者都必须存在于应用程序服务器上的指定证书库中。客户端证书将按需提供给正在建立的客户端连接。
证书或证书对必须符合以下要求:
仅 gRPC
- 使用 RSA 加密服务提供程序。
- 两份证书必须包含可导出的私钥。
WCF 和 gRPC
-
证书 DNS 必须与配置的主机名一致。
-
包含私钥。
-
客户端证书必须包含可导出的私钥。
- 服务器和客户端证书必须根据同一颁发机构进行签名(如果不同的话)。
数据库直接连接运行时资源
为防止由大量资源引起的潜在性能问题,如果交互式客户端不通过应用程序服务器直接连接到 SQL 服务器,则在登录时系统将应用以下控制措施:
- 如果检测到的资源数少于 200,系统会进行连接,并且不会显示任何警告消息。
- 如果检测到的资源数介于 200 到 800 之间,系统将显示一条消息,提示用户选择是否连接到资源。如果用户选择不连接,系统将禁用与资源的连接。
- 如果检测到的资源数超过 800,系统将禁用自动连接并显示一条警告,告知您尚未建立连接。
如果用户选择不连接到资源,您仍可在 Control Room 中查看资源的状态,但使用中的交互式客户端无法指示这些资源。
在 Blue Prism 交互式客户端 Control Room 中,可根据需要使用切换连接菜单选项来开启和关闭与运行时资源的直接连接。