基本故障排除

本主题列出了您在设置 Secure Private Access 时或之后可能遇到的一些错误。

证书错误

数据库创建错误

StoreFront 故障

公有网关/回调网关故障

无法访问 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。

    分辨率:

    1. 点击 设置 ,然后单击 集成 标签。
    2. StoreFront Store URL,如果 StoreFront 条目不可见,请添加该条目。
  • 错误信息:无法为以下项配置 StoreFront 条目: <Store URL>

    分辨率:

    1. 可能存在 PowerShell 执行策略限制。 运行 PowerShell 脚本命令 Get-ExecutionPolicy 了解详情。

    2. 如果受到限制,则必须绕过此脚本并手动运行 StoreFront 配置脚本。
    3. 点击 设置 ,然后单击 集成 标签。
    4. StoreFront Store URL中,确定发生错误的 StoreFront URL 条目。
    5. 单击 下载脚本 按钮,然后在存在相应 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 配置。

    1. 点击 设置 ,然后单击 集成 标签。
    2. StoreFront Store URL中,确定发生错误的 StoreFront URL 条目。
    3. 单击此应用商店 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 后,您可以从 设置 标签。

  1. 点击 设置 ,然后单击 集成 标签。
  2. 更新公有网关地址或回调网关地址以及发生故障的虚拟 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 的 SQL 数据库权限.

网关连接检查失败。 无法获取公共证书

错误信息: 安装后配置失败,并显示错误“网关连接检查失败。 无法获取公有证书….”

解决方案:

  • 使用配置工具手动将网关公有证书上传到 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 插件主机必须具有连接到数据库并创建数据库架构的权限。

远程数据库:

执行以下步骤以设置远程数据库的权限。

  1. 使用 name 语法创建一个空数据库 CitrixAccess安全<Site Name>. 这里 <Site Name> 是 Secure Private Access 站点名称。 (举个例子. CitrixAccessSecuritySPA)。

    CREATE DATABASE CitrixAccessSecurity<SiteName>

  2. 为 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]

  3. 将 db_owner 角色分配给计算机身份。

    USE CitrixAccessSecurity<SiteName>

    EXEC sys.sp_addrolemember [db_owner], 'DOMAIN1\HOST1$'

    ALTER USER [DOMAIN1\HOST1$] WITH DEFAULT_SCHEMA = dbo;

本地数据库:

执行以下步骤以设置本地数据库的权限。

  1. 使用 name 语法创建一个空数据库 CitrixAccess安全<Site Name>. 这里 <Site Name> 是 Secure Private Access 站点名称。 (例如,CitrixAccessSecuritySPA)。

    CREATE DATABASE CitrixAccessSecurity<SiteName>

  2. NT 权威\系统 用户。 如果已创建登录名,则可以忽略此步骤。

    USE CitrixAccessSecurity<SiteName>

    CREATE LOGIN [NT AUTHORITY\SYSTEM] FROM WINDOWS

  3. 将 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 秒 }