基本故障排除
本主题列出了您在设置 Secure Private Access 时或之后可能遇到的一些错误。
无法访问 Secure Private Access Server
证书错误
错误信息:无法从一个或多个网关服务器自动获取证书。
当您尝试添加公共 NetScaler Gateway 地址时,如果获取证书时出现问题,则会显示此错误消息。 在设置完成后设置 Secure Private Access 或更新设置时,可能会出现此问题。
解决方法:更新网关证书的方式与更新 Citrix Virtual Apps and Desktops 的方式相同。
数据库创建错误
-
错误信息:创建数据库失败
分辨率:对于 Automatic case - 计算机必须具有 READ、WRITE、UPDATE 权限才能在 SQL Server 上的数据库中创建表。
-
错误信息:创建数据库失败:数据库已存在。
此错误消息可能出现在以下任何情况下。
- 如果 自动配置 选项。
-
如果管理员正在创建数据库,则该数据库必须为空数据库。 如果数据库是非空数据库,则可能会出现此错误消息。
分辨率:您必须创建一个空数据库。
-
卸载 Secure Private Access,然后使用相同的站点名称重试设置。 在这种情况下,不会删除以前安装中的数据库。
分辨率:您必须手动删除数据库。
-
您可以选择使用脚本手动设置数据库(通过在 Configuring Databases 页面中选择 Manual Configuration),然后更改为 Automatic Configuration 选项,但使用相同的站点名称。 在这种情况下,在运行脚本时已创建具有相同名称的数据库。
分辨率:您必须重命名站点,然后再次运行脚本。
-
计算机没有在 SQL Server 上的数据库中创建表的 READ、WRITE、UPDATE 权限。
分辨率:在计算机上启用适当的权限。 有关详细信息,请参阅 设置数据库所需的权限.
-
错误信息: 创建数据库失败: 连接失败
分辨率:
- 检查计算机的数据库网络连接。 确保 SQL Server 端口在防火墙上处于打开状态。
- 如果使用远程 SQL Server,请检查 SQL Server 是否已使用 Secure Private Access 计算机身份 Domain\hostname$ 创建登录名。
- 如果使用远程 SQL Server,请确认计算机身份分配了正确的角色,即系统管理员角色。
- 如果使用本地 SQL Server(而不是从安装程序),请检查 NT AUTHORITY\SYSTEM 用户是否必须创建登录名。
StoreFront 故障
-
错误信息:无法为以下各项创建 StoreFront 条目:
<Store URL>
从 设置 选项卡(如果不可见)。 使用向导设置 Secure Private Access 后,您可以从 设置 标签。 记下发生此错误的 StoreFront Store URL。
分辨率:
- 点击 设置 ,然后单击 集成 标签。
- 在 StoreFront Store URL,如果 StoreFront 条目不可见,请添加该条目。
-
错误信息:无法为以下项配置 StoreFront 条目:
<Store URL>
分辨率:
-
可能存在 PowerShell 执行策略限制。 运行 PowerShell 脚本命令
Get-ExecutionPolicy
了解详情。 - 如果受到限制,则必须绕过此脚本并手动运行 StoreFront 配置脚本。
- 点击 设置 ,然后单击 集成 标签。
- 在 StoreFront Store URL中,确定发生错误的 StoreFront URL 条目。
- 单击 下载脚本 按钮,然后在存在相应 StoreFront 安装的计算机上使用管理员权限运行此 PowerShell 脚本。 此脚本必须在所有 StoreFront 计算机上运行。
-
注意:
如果要在卸载后重试安装,请确保 StoreFront 配置中没有名为“Secure Private Access”的条目 (店面 > 商店> Delivery Controller -> Secure Private Access). 如果存在 Secure Private Access,请删除此条目。 从“设置”中手动下载并运行脚本 > Integrations (集成) 页面。
-
错误信息:StoreFront 配置不是本地的:
<Store URL>
使用向导设置 Secure Private Access 后,您可以从 Settings (设置) 选项卡编辑网关条目。 记下发生此错误的 StoreFront Store URL。
分辨率:
如果 StoreFront 未与 Secure Private Access 安装在同一台计算机上,则会出现此问题。 您必须在安装了 StoreFront 的计算机上手动运行 StoreFront 配置。
- 点击 设置 ,然后单击 集成 标签。
- 在 StoreFront Store URL中,确定发生错误的 StoreFront URL 条目。
- 单击此应用商店 URL 旁边的下载脚本按钮,然后在存在相应 StoreFront 安装的计算机上使用管理员权限运行此 PowerShell 脚本。 此脚本必须在所有 StoreFront 计算机上运行。
注意:
要运行 StoreFront PowerShell 脚本,请使用管理员权限打开与 Windows x64 兼容的 PowerShell 窗口,然后运行 ConfigureStorefront.ps1。 StoreFront 脚本与 Windows PowerShell (x86) 不兼容。
-
错误信息:使用 PowerShell 运行 StoreFront 脚本时,出现“Get-STFStoreService:引发了’Citrix.DeliveryServices.Framework.Feature.Exceptions.RegistryKeyNotFoundException’类型的异常。
当 StoreFront 脚本在兼容 x86 的 PowerShell 窗口上运行时,会出现此错误。
解决方案:
要运行 StoreFront PowerShell 脚本,请使用管理员权限打开与 Windows x64 兼容的 PowerShell 窗口,然后运行
配置Storefront.ps1
.
公有网关/回调网关故障
错误信息:无法为以下项创建网关条目: <Gateway URL>
或无法为以下项创建回拨网关条目: <Callback Gateway URL>
分辨率:
记下发生故障的公有网关或回调网关 URL。 使用向导设置 Secure Private Access 后,您可以从 设置 标签。
- 点击 设置 ,然后单击 集成 标签。
- 更新公有网关地址或回调网关地址以及发生故障的虚拟 IP 地址。
无法访问 Secure Private Access Server
错误信息:无法更新 IIS 池。 无法重新启动 IIS 池
分辨率:
转到 Internet Information Services (IIS) 中的应用程序池,并检查以下应用程序池是否已启动并正在运行:
- Secure Private Access 运行时池
- Secure Private Access 管理员池
还要检查默认的 IIS 站点 “默认网站”
已启动并运行。
数据库连接检查失败
错误信息: 连接检查失败
数据库连接检查可能由于多种原因而失败:
-
由于防火墙,无法从 Secure Private Access 插件主机访问数据库服务器。
分辨率: 检查防火墙上的数据库端口(默认端口 1433)是否打开。
-
Secure Private Access 插件主机没有连接到数据库的权限。
网关连接检查失败。 无法获取公共证书
错误信息: 安装后配置失败,并显示错误“网关连接检查失败。 无法获取公有证书….”
解决方案:
- 使用配置工具手动将网关公有证书上传到 Secure Private Access 数据库。
- 使用管理员权限打开 PowerShell 或命令提示符窗口。
- 将目录更改为 Secure Private Access 安装文件夹下的 Admin\AdminConfigTool 文件夹(例如,cd “C:\Program Files\Citrix\Citrix Access Security\Admin\AdminConfigTool”)
-
运行以下命令:
.\AdminConfigTool.exe /UPLOAD_PUBLIC_GATEWAY_CERTIFICATE <PublicGatewayUrl> <PublicGatewayCertificatePath>
应用程序枚举失败
如果 StoreFront URL 或 NetScaler Gateway URL 包含尾部斜杠 (/),则应用程序枚举将中断。
解决方案:
删除 StoreFront 应用商店 URL 或 NetScaler Gateway URL 中的尾部斜杠。 有关详细信息,请参阅 设置后更新 StoreFront 或 NetScaler Gateway 服务器详细信息.
其他
无法完成首次设置
如果在首次设置期间 Director 配置失败,您可能无法重新配置许可证服务器。
解决方案:
手动清理 license_server 表。
创建 Secure Private Access 诊断支持包
执行以下步骤以创建 Secure Private Access 诊断支持捆绑包:
- 使用管理员权限打开 PowerShell 或命令提示符窗口。
- 将目录更改为 Secure Private Access 安装文件夹下的 Admin\AdminConfigTool 文件夹(例如,cd “C:\Program Files\Citrix\Citrix Access Security\Admin\AdminConfigTool”)。
-
运行以下命令:
.\AdminConfigTool.exe /SUPPORTBUNDLE <output folder>
Secure Private Access 的 SQL 数据库权限
要自动创建数据库,Secure Private Access 插件主机必须具有连接到数据库并创建数据库架构的权限。
远程数据库:
执行以下步骤以设置远程数据库的权限。
-
使用 name 语法创建一个空数据库
CitrixAccess安全<Site Name>
. 这里<Site Name>
是 Secure Private Access 站点名称。 (举个例子. CitrixAccessSecuritySPA)。CREATE DATABASE CitrixAccessSecurity<SiteName>
-
为 Secure Private Access 虚拟机的计算机身份创建 SQL Server 登录名。 例如,如果您的 Secure Private Access 代理计算机名称为 HOST1 且计算机域为 DOMAIN1,则计算机身份为“DOMAIN1\HOST1$”。 如果已创建登录名,则可以忽略此步骤。
USE CitrixAccessSecurity<SiteName>
CREATE LOGIN [DOMAIN1\HOST1$] FROM WINDOWS
可以使用以下查询找到 Domain name:
SELECT DEFAULT_DOMAIN()[DomainName]
-
将 db_owner 角色分配给计算机身份。
USE CitrixAccessSecurity<SiteName>
EXEC sys.sp_addrolemember [db_owner], 'DOMAIN1\HOST1$'
ALTER USER [DOMAIN1\HOST1$] WITH DEFAULT_SCHEMA = dbo;
本地数据库:
执行以下步骤以设置本地数据库的权限。
-
使用 name 语法创建一个空数据库
CitrixAccess安全<Site Name>
. 这里<Site Name>
是 Secure Private Access 站点名称。 (例如,CitrixAccessSecuritySPA)。CREATE DATABASE CitrixAccessSecurity<SiteName>
-
为
NT 权威\系统
用户。 如果已创建登录名,则可以忽略此步骤。USE CitrixAccessSecurity<SiteName>
CREATE LOGIN [NT AUTHORITY\SYSTEM] FROM WINDOWS
-
将 db_owner 角色分配给 “NT AUTHORITY\SYSTEM” 用户。
USE CitrixAccessSecurity<SiteName>
EXEC sys.sp_addrolemember [db_owner], 'NT AUTHORITY\SYSTEM'
ALTER USER [NT AUTHORITY\SYSTEM] WITH DEFAULT_SCHEMA = dbo;
手动创建数据库时,下载的数据库脚本会将权限添加到计算机身份。
更改日志级别以排查日志
故障排除日志是默认的错误日志级别。
要更改故障排除日志的日志级别,请在运行时服务appsettings.json (C:\Program Files\Citrix\Citrix Access Security)\R不定时\RuntimeService) 更新 restrictedToMinimumLevel
为 疑难解答Sql
设置为以下值之一:
- 信息
- 调试
- 警告
- 错误
“故障排除 Sql”: { “restrictedToMinimumLevel”: “错误”, “batchPostingLimit”: 50, “batchPeriod”: “00:00:05” // 5 秒 }