- 入门指南
- 最佳实践
- 租户
- 关于租户上下文
- 搜索租户中的资源
- 配置自动化功能
- 解决方案
- 审核
- 集成凭证存储
- 管理凭据存储
- Orchestrator Credentials Proxy
- Orchestrator Credentials Proxy 调试
- Managing credential proxies
- 设置
- Cloud Robots
- 文件夹上下文
- 自动化
- 流程
- 作业
- Apps
- 触发器
- 日志
- 监控
- 队列
- 资产
- 业务规则
- 存储桶
- MCP 服务器
- 索引
- Orchestrator 测试
- 资源目录服务
- 集成
- 故障排除

Orchestrator 用户指南
默认情况下,Orchestrator Credentials Proxy 会记录所有异常以及初始启动和关闭信息。
api/v1/Health。现在,应已记录请求。
appsettings文件后,您都需要重新启动 Credentials Proxy。
如果您按照这些步骤操作,而且除了启动和关闭之外没有其他可用日志,则意味着没有请求到达 Orchestrator Credentials Proxy。 这很可能是由 Orchestrator Cloud Robot 和 Orchestrator Credentials Proxy 计算机的基础架构或网络问题引起的。
appsettings.production.json文件并使用以下代码。 您可以将其 C:/dev/logs 替换为所需的路径: "NLog": {
"throwConfigExceptions": true,
"targets": {
"logfile": {
"type": "File",
"maxArchiveFiles": 180,
"fileName": "C:/dev/logs/nlog-${shortdate}.log",
"layout": "${longdate} ${logger} ${message}${onexception:${newline}${exception:maxInnerExceptionLevel=10:format=shortType,message,stacktrace:separator=*:innerExceptionSeparator=
	}}"
}
},
"rules": [
{
"logger": "*",
"minLevel": "Information",
"writeTo": "logconsole,logfile,eventLog"
}
]
} "NLog": {
"throwConfigExceptions": true,
"targets": {
"logfile": {
"type": "File",
"maxArchiveFiles": 180,
"fileName": "C:/dev/logs/nlog-${shortdate}.log",
"layout": "${longdate} ${logger} ${message}${onexception:${newline}${exception:maxInnerExceptionLevel=10:format=shortType,message,stacktrace:separator=*:innerExceptionSeparator=
	}}"
}
},
"rules": [
{
"logger": "*",
"minLevel": "Information",
"writeTo": "logconsole,logfile,eventLog"
}
]
} "Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}, "Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},appsettings.Production.json文件并添加以下内容: "Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Information",
"Microsoft.AspNetCore": "Information",
"Microsoft.Hosting.Lifetime": "Information",
"Microsoft.AspNetCore.HttpLogging.HttpLoggingMiddleware": "Information"
}
} "Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Information",
"Microsoft.AspNetCore": "Information",
"Microsoft.Hosting.Lifetime": "Information",
"Microsoft.AspNetCore.HttpLogging.HttpLoggingMiddleware": "Information"
}
}Information 不足,需要更多或更少,则您可以使用 LogLevels.Net 中的值。 如需更多信息,请查看 Microsoft 文档。appsettings.json文件应与以下内容类似: "Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Information",
"Microsoft.AspNetCore": "Information",
"Microsoft.Hosting.Lifetime": "Information",
"Microsoft.AspNetCore.HttpLogging.HttpLoggingMiddleware": "Information"
}
} "Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Information",
"Microsoft.AspNetCore": "Information",
"Microsoft.Hosting.Lifetime": "Information",
"Microsoft.AspNetCore.HttpLogging.HttpLoggingMiddleware": "Information"
}
}appsettings文件后重新启动 Orchestrator Credentials Proxy。
InMemorySecureStore类型。
InMemorySecureStore类型,请打开appsettings.production.json文件,转到AppSettings部分,然后添加"UseInMemorySecureStore": "true"参数。
SecureStoreConfigurations 部分中包含以下内容:{
"Key": "InMemoryKey1", // can be any value
"Type": "InMemorySecureStore",
"Context": {
}
}{
"Key": "InMemoryKey1", // can be any value
"Type": "InMemorySecureStore",
"Context": {
}
}Request to the Credentials Proxy's unauthenticated health endpoint failed.Request to the Credentials Proxy's unauthenticated health endpoint failed./api/v1/Health简单的 GET 请求。
此请求的目的是验证代理是否可以从 Orchestrator 云环境访问。如果此请求失败,则表示 Orchestrator 无法访问代理,而且连接检查将无法通过。
常见问题
- Orchestrator Credentials Proxy 未启动:
-
转到 Orchestrator Credentials Proxy 安装的服务器。
-
在 IIS 中,验证 Credentials Proxy 应用程序是否正在运行。
-
在同一台服务器上,打开浏览器并检查 Credentials Proxy URL 是否可在本地访问。
-
- 连接没有有效的 HTTPS/SSL 证书。 Orchestrator 和 OCP 之间的所有通信均必须安全。
-
确保您的 Credentials Proxy 使用有效的 HTTPS/SSL 证书。
-
(可选)如果负载均衡器是在 Orchestrator Credentials Proxy 之前配置的,则请确认它也使用安全 HTTPS 连接。
-
- Orchestrator Credentials Proxy 会被防火墙、VPN 或类似的网络限制阻止。 如果无法从 Orchestrator 访问 Credentials Proxy,则请检查您的网络配置。
- 确保 Orchestrator 出站 IP 已正确列入白名单。 请查看 Orchestrator 出站 IP 地址页面,了解更多信息。
注意:如果您的 Organization 有多个租户,则它们可能会托管于不同区域、使用不同的 IP 地址。请仔细检查每个租户。
- 确保 Orchestrator 出站 IP 已正确列入白名单。 请查看 Orchestrator 出站 IP 地址页面,了解更多信息。
- 由于服务器时间不正确,出现未验证的端点问题。
- 如果未验证的端点出现故障,则可能是由于服务器时间设置不正确。 当系统时钟不准确时,服务器可能会将 JWT 令牌解释为无效。
调查步骤
- 在 IIS 中验证 Orchestrator Credentials Proxy 是否正在运行。
- 在浏览器中检查 Credentials Proxy URL 是否可访问、是否正确加载。
- 在浏览器中检查 Credentials Proxy URL 是否安全。
- 在 Credentials Proxy 计算机上,将日志记录级别提升为“信息 (Information) 级”,以便排除故障。完成调查后,请记得还原此更改。
- 在本地测试运行状况端点。 在 Credentials Proxy 计算机上,打开 Swagger 或使用 Postman 等工具发出请求:
https://{yourCredentialsProxyUrl}/api/v1/Healthhttps://{yourCredentialsProxyUrl}/api/v1/Health成功响应表示代理可访问且在本地运行。
- 在 VPN 内测试访问权限。 用同一 VPN 内的另一台计算机(例如,客户的笔记本电脑或客户的机器人计算机)检查 Credentials Proxy URL 是否可访问。向同一
/api/v1/Health端点发出请求:-
如果成功,则这说明可以从 VPN 内部访问 Credentials Proxy。
-
如果失败,则客户必须解决内部网络或路由问题。
-
- 测试公开可访问性。
- 在 VPN 外的计算机上,检查
/api/v1/Health端点:-
如果正常,则这说明可以从 VPN 外部访问 Credentials Proxy。
-
如果失败,则客户必须解决内部网络或路由问题。
-
- 测试来自 Orchestrator Cloud 的连接。 创建链接到同一代理 URL 的新 Credentials Proxy:
-
如果创建成功,则您可以删除连接。
-
如果失败,则这表明仍然有因素阻止 Orchestrator 与 Credentials Proxy 之间的通信。
注意:此时,Credentials Proxy 应该可公开访问,没有防火墙限制或 IP 白名单。
-
- 检索 Orchestrator 租户 IP 地址列表。
-
将 IP 添加到可访问 Credentials Proxy 的允许列表中。
- 从 VPN 外部的计算机再次测试
/api/v1/Health端点。此操作应该不起作用,因为此 IP 未添加到允许列表中。 - 在 Orchestrator Cloud 中,再次尝试创建 Credentials Proxy:
- 如果已正确完成所有步骤,则应已成功。
- 如果仍然失败,则可能是防火墙或 VPN 规则存在问题,导致 Orchestrator 与 Credentials Proxy 之间无法通信。
- 如果问题仍然存在,则请仔细重复上述步骤并验证每个配置点。
- 问题解决后,请将 Credentials Proxy 计算机上的日志级别恢复为原始设置。
AppSettings:SecureStoreConfigurations 中定义的每个配置。 应用的特定验证逻辑取决于配置的凭据存储库的类型。
在某些情况下,代理无法启动的根本原因可能发生在启动流程的早期,以至于应用程序无法生成或写入任何日志事件。
应用程序未启动的可能原因
多个问题可能会导致 Credentials Proxy 应用程序无法启动。 以下是常见原因及其识别方法。
- IIS 应用程序池未启动 (Windows)。 如果代理托管在 IIS 中,则请验证与代理关联的应用程序池是否正在运行。 您可以在 “应用程序池”部分下的 “IIS 管理器”中检查这一点。
appsettings.Production.json中的配置无效。 无效或不完整的配置文件可能会导致代理在启动过程中失败。 请查看“配置示例”部分中的示例,了解更多详细信息。AppSettings:SecureStoreConfigurations中的配置无效。SecureStoreConfigurations部分规定代理如何连接到并验证凭据存储库。如果这些条目中任何条目格式错误或不完整,则应用程序将无法启动。- 配置中的参数无效。 确保所有配置参数均与您使用的凭据存储库类型匹配。使用不正确的参数或密钥可能导致启动验证失败。
- 无法访问保险库。 如果配置的凭据存储库依赖外部保险库(例如,CyberArk、BeyondTrust 等),而代理无法访问其或使用其进行身份验证,则启动可能会失败。
- 其他基础架构相关问题。
调试
在调试 Credentials Proxy 时,目标是在测试复杂配置之前消除尽可能多的变量。
- 首先使用“InMemorySecureStore”类型的最小配置。 这样您就可以确认代理是否可以成功启动,然后再引入外部依赖项。
-
在
AppSettings中添加"UseInMemorySecureStore": "true",参数。 - 在
AppSettings:SecureStoreConfigurations中添加以下内容:"SecureStoreConfigurations": [ { "Key": "InMemoryKey1", "Type": "InMemorySecureStore", "Context": { } } ]"SecureStoreConfigurations": [ { "Key": "InMemoryKey1", "Type": "InMemorySecureStore", "Context": { } } ] - 代理应不再有与配置相关的问题。 如果仍然无法启动,则原因很有可能与基础架构相关。
-
- 在确认代理已使用内存配置成功启动后,请将其替换为实际凭据存储库设置(例如 CyberArk、BeyondTrust 等)。
-
请根据您的环境和存储类型更新此
SecureStoreConfigurations部分。如果应用程序启动失败,则您应该可以在以下位置找到日志:
-
Windows 事件查看器。
-
代理的已配置日志目录。
-
-
如果应用程序未启动且未生成任何日志,则问题可能与您环境中的基础架构或权限有关。
在这种情况下,为了有助于调试,您可以在以下位置添加此参数,以此来暂时禁用安全存储验证AppSettings:"SkipValidateSecureStoreConfigurations": true"SkipValidateSecureStoreConfigurations": true注意:此参数应仅用于调试目的。 启动验证的存在是为了确保您的代理配置正确且安全。
-