远程连接到 Operations Manager Web 控制台时出现 HTTP 500 错误

本文提供了解决远程连接到 Operations Manager Web 控制台时发生的 HTTP 500 错误的解决方案。

原始产品版本: System Center Operations Manager
原始 KB 数: 4487099

现象

在服务器上安装独立的 Operations Manager Web 控制台。 从远程计算机连接到 Web 控制台 http://<web_host>/OperationsManager 时,会收到以下错误消息:

500 - 内部服务器错误。

如果从 Web 控制台服务器连接到 Web 控制台,则不会发生此问题。

解决方法

若要解决此问题,请执行以下配置和验证,然后再次连接到 Web 控制台:

  1. 注册 SDK SPN。
  2. 验证 SDK SPN。
  3. 注册 HTTP SPN。
  4. 验证 HTTP SPN。
  5. 配置约束委派。
  6. 未设置“帐户敏感且无法委派”。
  7. 在 IIS 中禁用内核模式身份验证。

注意

以下示例名称用于配置和验证步骤。 必须将它们替换为环境中的名称。

  • SCOMMS。Lab.Local - System Center Operations Manager (SCOM) 管理服务器的完全限定域名 (FQDN)
  • SCOMWeb.Lab.Local - 托管 SCOM Web 控制台的服务器 FQDN
  • Lab\SDKSvc - SCOM 数据访问服务帐户(可选)
  • Lab\SCOMAppPool - SCOM 应用程序池标识帐户(可选)
  • https://mySCOM.Lab.Local/OperationsManager - 用于访问 Operations Manager Web 控制台的 URL(如果没有 URL,请将它替换为 Operations Manager Web 控制台服务器名称。

SDK SPN

注册 SDK SPN

若要注册 System Center Data Access (SDK) 服务主体名称(SPN),请根据不同的方案运行以下命令:

  • 方案 1

    SDK 服务在 LocalSystem 帐户下运行

    Setspn.exe -S MSOMSdkSvc/SCOMMS SCOMMS
    Setspn.exe -S MSOMSdkSvc/SCOMMS.Lab.Local SCOMMS
    
  • 方案 2

    SDK 服务在域帐户(SDKSvc)下运行

    Setspn.exe -S MSOMSdkSvc/SCOMMS SDKSvc
    Setspn.exe -S MSOMSdkSvc/SCOMMS.Lab.Local SDKSvc
    

验证 SDK SPN

若要验证 SDK 服务是否已注册,请根据不同的方案运行以下命令:

  • 方案 1

    SDK 服务在 LocalSystem 帐户下运行

    Setspn.exe -L SCOMMS
    
  • 方案 2

    SDK 服务在域帐户(SDKSvc)下运行

    Setspn.exe -L SDKSvc
    

HTTP SPN

注册 HTTP SPN

若要注册 HTTP SPN,请根据不同的方案运行以下命令:

  • 方案 1

    Web 控制台应用程序池在默认标识下运行(ApplicationPoolIdentity)

    Setspn.exe -S HTTP/mySCOM SCOMWeb 
    Setspn.exe -S HTTP/mySCOM.Lab.Local SCOMWeb
    
  • 方案 2

    Web 控制台应用程序池在自定义标识下运行(Lab\SCOMAppPool)

    Setspn.exe -S HTTP/mySCOM SCOMAppPool 
    Setspn.exe -S HTTP/mySCOM.Lab.Local SCOMAppPool
    

验证 HTTP SPN

若要验证 HTTP 服务是否已注册,请根据不同的方案运行以下命令:

  • 方案 1

    Web 控制台应用程序池在默认标识下运行(ApplicationPoolIdentity)

    Setspn.exe -L SCOMWeb
    
  • 方案 2

    Web 控制台应用程序池在自定义标识下运行(Lab\SCOMAppPool)

    Setspn.exe -L SCOMAppPool
    

配置约束委派

若要配置约束委派,请执行以下步骤:

  1. 启动Active Directory 用户和计算机控制台。

  2. 在控制台树中,选择“ 计算机”。

  3. 根据不同的方案打开属性:

    • 方案 1:Operations Manager Web 应用程序池在默认标识下运行(ApplicationPoolIdentity)

      右键单击安装了 Web 控制台的计算机(SCOM Web),然后选择“ 属性”。

    • 方案 2:Operations Manager Web 应用程序池在自定义标识下运行(Lab\SCOMAppPool)

      右键单击在自定义标识(Lab\SCOMAppPool)上配置的用户,然后选择“ 属性”。

  4. 在详细信息窗格中,选择“ 委派”。

  5. 在“委派”选项卡上,选择“信任此计算机”以仅委派到指定的服务,然后相应地选择以下选项之一:

    • 已启用内核模式身份验证: 使用任何身份验证协议

    • 内核模式身份验证已禁用: 仅使用 Kerberos

      有关详细信息,请参阅 在 IIS 中禁用内核模式身份验证。

  6. 选择 添加

  7. “添加服务 ”对话框中,选择“用户”或“ 计算机”。

  8. “选择用户或计算机 ”对话框中,根据不同的方案指定帐户:

    • 方案 1:SDK 服务在 LocalSystem 帐户下运行

      选择 SCOM 管理服务器(SCOMMS)的计算机帐户,然后选择“ 确定”。

    • 方案 2:SDK 服务在域帐户下运行(SDKSvc)

      选择 SDK 服务在运行中的域帐户,然后选择“ 确定”。

  9. “添加服务 ”对话框中,选择服务类型 MSOMSdkSvc ,然后选择“ 确定”。

  10. 选择“确定关闭“属性”对话框。

未设置“帐户敏感且无法委派”

若要验证登录 Web 控制台的用户是否没有 帐户敏感且无法进行委托 设置,请执行以下步骤:

  1. 启动Active Directory 用户和计算机控制台。
  2. 右键单击用于连接到 Web 控制台的用户帐户,然后选择“ 属性”。
  3. 选择帐户
  4. “帐户选项 ”对话框中,确认帐户 敏感且无法委派 复选框未选中。

在 IIS 中禁用内核模式身份验证

若要在 MonitoringView IIS 中OperationsManager和 IIS 中禁用内核模式身份验证,请执行以下步骤:

  1. 在 IIS 管理器中,导航到 默认网站\MonitoringView
  2. 双击“ 身份验证”。
  3. 选择 “Windows 身份验证”
  4. 在右侧的 “操作 ”窗格中,选择“ 高级设置”。
  5. 清除 “启用内核模式身份验证 ”复选框。
  6. 导航到 默认网站\OperationsManager,并重复步骤 2 到 5。