- 入门指南
- 要求
- 最佳实践
- 安装
- 正在更新
- 身份服务器
- High Availability Add-On
- 对启动错误进行故障排除
为 HTTPS 协议使用证书
本节提供有关如何启用 Orchestrator 与机器人之间的通信的 HTTP 协议的说明。
最好使用提交给证书颁发机构的 SAN SSL 证书,而不是使用自签名证书,因为在前一种情况下,无需在机器人计算机上安装任何证书。由证书颁发机构颁发的 SAN SLL 证书受到域中所有计算机的信任。
如果主 Orchestrator 计算机注册到具有本地证书颁发机构和自动注册策略的 Active Directory 中,则用户可以按照以下过程中的说明填写证书请求。
如果仅出于测试目的而需要快速创建 SSL 证书,则可以创建自签名的 SAN SSL 证书。
以管理员身份打开 PowerShell 控制台,然后发出以下命令。不要忘记根据您的环境自定义值。
$ssc = New-SelfSignedCertificate -FriendlyName "TestingCertificate" -DnsName "loadbalancer.domain.local","node1.domain.local","node2.domain.local"
$store = New-Object System.Security.Cryptography.X509Certificates.X509Store( "Root", "LocalMachine")
$store.Open("MaxAllowed")
$store.Add($ssc)
$pass = ConvertTo-SecureString -String "myPass" -Force -AsPlainText
Export-PfxCertificate -Cert $ssc -FilePath "C:\temp\testingCertificate.pfx" -Password $pass
$ssc = New-SelfSignedCertificate -FriendlyName "TestingCertificate" -DnsName "loadbalancer.domain.local","node1.domain.local","node2.domain.local"
$store = New-Object System.Security.Cryptography.X509Certificates.X509Store( "Root", "LocalMachine")
$store.Open("MaxAllowed")
$store.Add($ssc)
$pass = ConvertTo-SecureString -String "myPass" -Force -AsPlainText
Export-PfxCertificate -Cert $ssc -FilePath "C:\temp\testingCertificate.pfx" -Password $pass
C:\temp\testingCertificate.pfx
文件,以供以后使用。
创建证书后,请确保:
-
如果使用应用程序池身份,请在证书控制台中导航至“个人”>“证书”。然后,右键单击您的个人 Orchestrator 证书,选择“所有任务”>“管理私钥”,并为“IIS AppPool\Identity”和“IIS_IUSRS”授予完整权限。
-
如果使用自定义帐户,请在证书控制台中导航到“个人”>“证书”。然后,右键单击您的个人 Orchestrator 证书,选择“所有任务”>“管理私钥”,并为在“Orchestrator 应用程序池”上设置的自定义用户授予完全权限。
IIS AppPool\Identity 和 IIS_IUSRS 是本地组,应在本地计算机下搜索,而不是在域下搜索。
为了使自签名证书在其他计算机(辅助 Orchestrato r节点/机器人计算机)上可用,请以管理员身份打开 PowerShell 控制台,然后发出以下命令。
$pass = ConvertTo-SecureString -String "myPass" -Force -AsPlainText
$imported = Import-PfxCertificate -FilePath "C:\temp\testingCertificate.pfx" -CertStoreLocation Cert:\LocalMachine\My\ -Exportable -Password $pass
$store = New-Object System.Security.Cryptography.X509Certificates.X509Store( "Root", "LocalMachine")
$store.Open("MaxAllowed")
$store.Add($imported)
$pass = ConvertTo-SecureString -String "myPass" -Force -AsPlainText
$imported = Import-PfxCertificate -FilePath "C:\temp\testingCertificate.pfx" -CertStoreLocation Cert:\LocalMachine\My\ -Exportable -Password $pass
$store = New-Object System.Security.Cryptography.X509Certificates.X509Store( "Root", "LocalMachine")
$store.Open("MaxAllowed")
$store.Add($imported)
UiPathOrchestrator.msi
的证书时(在安装或升级期间)遇到问题,您可以在这里开始故障排除:
从控制面板:
- 打开管理计算机证书->个人->证书。识别并双击您的证书。在常规选项卡中,应提供有关其有效性的信息。
- 在命令行中,运行以下命令来诊断证书:
certutil -v -verifystore My <certificateThumbprint>
- 其摘要位于输出的末尾。
如果证书没有设置适当的权限,则可能发生内部服务器错误。以管理员身份运行以下项以授予必要的权限:
import-module WebAdministration
$siteName = 'UiPath Orchestrator'
$binding = (Get-ChildItem -Path IIS:\SSLBindings | Where Sites -eq $siteName)[0]
$certLoc = "cert:\LocalMachine\MY\$($binding.Thumbprint)"
$cert = Get-Item $certLoc
$keyPath = $env:ProgramData + "\Microsoft\Crypto\RSA\MachineKeys\"
$keyName = $cert.PrivateKey.CspKeyContainerInfo.UniqueKeyContainerName
$keyFullPath = $keyPath + $keyName
$acl = (Get-Item $keyFullPath).GetAccessControl('Access')
$permission="IIS_IUSRS","Full","Allow"
$accessRule = New-Object -TypeName System.Security.AccessControl.FileSystemAccessRule -ArgumentList $permission
$acl.AddAccessRule($accessRule)
Set-Acl -Path $keyFullPath -AclObject $acl
import-module WebAdministration
$siteName = 'UiPath Orchestrator'
$binding = (Get-ChildItem -Path IIS:\SSLBindings | Where Sites -eq $siteName)[0]
$certLoc = "cert:\LocalMachine\MY\$($binding.Thumbprint)"
$cert = Get-Item $certLoc
$keyPath = $env:ProgramData + "\Microsoft\Crypto\RSA\MachineKeys\"
$keyName = $cert.PrivateKey.CspKeyContainerInfo.UniqueKeyContainerName
$keyFullPath = $keyPath + $keyName
$acl = (Get-Item $keyFullPath).GetAccessControl('Access')
$permission="IIS_IUSRS","Full","Allow"
$accessRule = New-Object -TypeName System.Security.AccessControl.FileSystemAccessRule -ArgumentList $permission
$acl.AddAccessRule($accessRule)
Set-Acl -Path $keyFullPath -AclObject $acl
运行脚本后,请确保:
-
如果使用应用程序池身份,请在证书控制台中导航至“个人”>“证书”。然后,右键单击您的个人 Orchestrator 证书,选择“所有任务”>“管理私钥”,并为“IIS AppPool\Identity”和“IIS_IUSRS”授予完整权限。
-
如果使用自定义帐户,请在证书控制台中导航到“个人”>“证书”。然后,右键单击您的个人 Orchestrator 证书,选择“所有任务”>“管理私钥”,并为在“Orchestrator 应用程序池”上设置的自定义用户授予完全权限。
IIS AppPool\Identity 和 IIS_IUSRS 是本地组,应在本地计算机下搜索,而不是在域下搜索。
如果在尝试更改 Insights 证书时遇到错误,请确保遵循更新 Insights 证书中提供的说明。