了解如何部署新的自助服务门户并排查安装问题

新的自助服务门户是基于 MVC Razor 的 HTML5 Web 应用 ASP.NET。 安装期间,将配置 Web 应用以直接连接到在服务管理器服务器浏览器上运行的 SDK 服务。 基本的最新配置的自助服务门户的安装方法如下图所示。

sm-ssp-scenario-01 的关系图。

不同组件之间的数据流按以下顺序进行。

  1. 用户在浏览器中输入 Web 应用的 URL 以访问自助服务门户。

  2. ASP.NET 为用户创建一个新实例,并在用户上下文中尝试将内容提供给安装期间提供的 SDK 服务。

  3. SDK 服务将数据读写到 Service Manager 数据库。

准备部署

查看下面的部分,了解部署准备。

注意

不建议在与主管理服务器相同的服务器上安装自助服务门户。

硬件要求

Service Manager 服务器 处理器 (min) 处理器 (rec) RAM (min) RAM (rec) 硬盘空间 (min) 硬盘空间 (rec)
自助服务门户 + 辅助 Service Manager(建议使用*) 8 核 2.66 GHz CPU 8 核 2.66 GHz CPU 16 GB 32 GB 80 GB 80 GB
自助服务门户(独立) 四核 2.66 GHz CPU 8 核 2.66 GHz CPU 8 GB 16 GB 80 GB 80 GB

*上述要求提供在可接受的响应时间内对 500 个并行用户的访问权限,其中包括 3 秒以内的平均读取操作和 5 秒以内的写入操作(考虑到 80:20 的读写比率)。 对于大型部署,请参阅下面的 Deploying a Web Farm 部分。

受支持的操作系统

  • Windows Server 2016

  • Windows Server 2012 R2

  • Windows Server 2019

  • Windows Server 2016

  • Windows Server 2022

  • Windows Server 2019

受支持的 Web 浏览器

自助服务门户需要超过 1024 X 768 的屏幕分辨率。 以下浏览器支持它:

  • Microsoft Edge

  • Microsoft Internet Explorer 10 和 11

  • Mozilla Firefox 42 及更高版本

  • Google Chrome 46 及更高版本

部署新的自助服务门户

有关如何部署新的自助服务门户的详细步骤,请参阅“部署新的自助服务门户”一文。 以下部分汇总了部署的关键注意事项。

将门户安装为默认网站

如果要在端口 80 上安装新的自助服务门户,必须先将 IIS 中的默认网站移动到其他端口;例如,端口 8080-,然后将自助服务门户移动到端口 80。

使用 SSL

建议使用 SSL 来确保安全通信,尤其是在使用基本身份验证时,用户名和密码以纯文本方式通过网络传输时。

部署拓扑

可以将以下部署拓扑用于自助服务门户。

在此拓扑中,新的自助服务门户和管理服务器角色都安装在同一服务器上。 这是建议的拓扑结构,因为它避免了门户和 SDK 服务之间的任何网络延迟。 此外,建议在辅助服务管理服务器上安装自助服务门户,以避免由于主服务器上运行的工作流导致性能下降。

sm-ssp-scenario-02 的关系图。

在此拓扑中,Windows 身份验证(默认配置)用于提供安全身份验证,没有因使用 SSL 而造成开销。

独立自助服务门户部署

在此拓扑中,自助服务门户安装的服务器未安装 Service Manager 管理服务器角色。

sm-ssp-scenario-03 的关系图。

在此配置中,新的自助服务门户和辅助 Service Manager 服务器安装在不同的服务器上 ,需要双跃点 才能从 Web 应用创建与 SDK 服务的连接。 在这种情况下无法使用 Windows 身份验证,需要将门户配置为使用 基本身份验证。 由于基本身份验证本质上不安全,因此建议使用 SSL 来避免任何部署安全问题,例如访问防火墙和代理服务器以外的资源。 有关 双跃点方案的基本身份验证的其他详细信息。

使用 SSL 会使门户和 SDK 服务之间的网络出现延迟,从而使此拓扑要慢于单服务器部署。 但是,此配置可帮助部署无法避免双跃点的情况。

部署 Web 场

新的自助服务门户的主要优点之一是 Web 应用除了缓存之外没有任何本地数据存储。 它可以直接读写到 Service Manager 数据库。 这样,可以更轻松地并行部署 Web 服务器的多个实例。 对于大型部署(超过 1,000 个并行访问门户的用户),可以将新的自助服务门户部署为 类似于以下配置的 Web 场

sm-ssp-scenario-04 的关系图。

Web 场可确保自助服务门户的高可用性。 在内部,Web 应用可创建 WCF 到 SDK 服务的连接。 创建初始连接需要时间,因此理想的方案是,用户最初连接到的 WebServer 应为所有后续请求提供服务,以加快周转速度。 若要确保在 IIS 中进行此配置,应将 ARR 设置设置为启用 客户端相关性

排查安装问题

以下疑难解答部分可帮助你解决常见的问题。

未安装 IIS

即使在服务器上启用了 IIS,“配置”页也会显示 IIS 角色错误。

sm-ssp-scenario-05 的关系图。

启动安装程序但不具有管理员凭据时,将发生这种情况。 因此,安装程序无法访问 IIS 配置设置。

解决方法:以管理员身份运行 SetupWizard.exe。 可以右键单击 SetupWizard,然后选择“以管理员身份运行”。

排查新的自助服务门户问题

本部分介绍如何排查安装新的自助服务门户后可能会遇到的问题。

IIS 设置

在安装期间配置以下门户默认设置 -

应用池

它配置为在经典模式下以 .NET CLR 版本 4 运行。

sm-ssp-scenario-06 的关系图。

在“高级”设置中,应用池被配置为使用在安装期间提供的服务帐户运行。 同一个用户应具有服务管理器和在其运行的本地计算机上的管理员权限。

sm-ssp-scenario-07 的关系图。

网站配置

应仅启用“模拟” 和“Windows 身份验证” 。 应禁用任何其他操作。

sm-ssp-scenario-08 的关系图。

对于模拟,应已选中“已验证用户”

sm-ssp-scenario-09 的关系图。

Windows 身份验证设置:

sm-ssp-scenario-10 的关系图。

网站的默认文档应为“index.cshtml”

sm-ssp-scenario-11 的关系图。

基本身份验证

对于双跃点方案,Windows 身份验证将不起作用;因此,必须禁用它。 启用和配置基本身份验证。

sm-ssp-scenario-12 的关系图。

启用跟踪

使用以下步骤启用跟踪。

第 1 步 在 web.config 文件中添加以下设置以启用事件日志生成。

<system.web>  
   .....  
   <trace enabled="true"/>  
   ...  
</system.web>  

第 2 步 通过在 web.config 文件中添加以下各部分直接输出到文件。

<system.diagnostics>  
    <trace autoflush="true">  
      <listeners>  
        <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="c:\logs\SSPOutput.log" />    
      </listeners>  
    </trace>  
</system.diagnostics>  

由于 Web 应用在登录用户的内容中运行,因此请确保向日志文件夹中的所有用户提供写入权限。 例如,上例中的 c:\logs。

调试 IIS

IIS 支持有效的日志记录,以帮助你调试 IIS 问题。 有关详细信息,请参阅 IIS 日志记录概述

排查部署问题

使用以下部分排查可能影响你的部署问题。

未显示定义更改(公告/请求产品/服务产品/知识文章)

新的自助服务门户使用缓存机制来存储静态数据,以提供快速响应时间。 默认情况下,缓存超时值设置为 30 分钟,该值可配置。 有关详细信息,请参阅基本自定义部分的 Deploy the New Self-Service Portal 。 在清除缓存之前,不会显示对公告、请求产品/服务、服务和知识库文章定义的任何更改。

使用的内存缓存基于 .NET Framework MemoryCache。 缓存的内容在 IIS 工作进程终止之前将保留在内存中。 重启 IIS 无济于事,因为 IIS 不会删除旧进程,然后启动一个新进程。 相反,它会再次使用现有的进程。 若要强制实施全新读取并删除缓存数据,在重新启动 IIS 前,识别与实例相关联的 IIS 工作进程,然后选择“结束任务”

显示 IIS 工作进程的屏幕截图。

“我的请求”和“我的活动”部分为空

在 Portal.mpb 文件中包含新的类型投影,这是属于该安装程序的一部分,并且需要导入 Service Manager。 若要执行导入操作,请使用以下步骤。

  1. 导入管理服务器上的 Portal.mpb 文件。

  2. 在你的门户连接到的管理服务器上,重新启动 SDK 服务。

如果启用了 Internet Explorer 的增强安全配置设置,用户在浏览门户时会在每一页收到以下弹出窗口。

显示 Internet Explorer 中弹出窗口的屏幕截图。

上述弹出窗口适用于 App Insights JavaScript SDK,该 SDK 在自助服务门户中集成以收集遥测数据。 你可以通过更改 EnableTelemetry 配置参数的值以禁用发送遥测数据,从而删除弹出窗口。 有关详细信息,请参阅基本自定义部分的 Deploy the New Self-Service Portal

可以在承载 IIS 的计算机上访问门户,但无法从远程计算机访问它

如果门户和 SDK 服务位于不同的计算机上(独立自助服务门户部署),则可能会出现此问题。 当尝试从远程计算机访问门户时,会产生双跃点方案。 因此,Windows 身份验证描述的默认门户配置将不起作用。 若要解决此问题,请改用 基本身份验证 配置。

无法在门户中看到某些服务产品/服务或已发布的服务产品/服务

这是因为仅当服务产品满足以下条件之一时才显示:

  • 服务产品匹配浏览器语言或通过门户语言选择器选择的语言。

  • 服务产品没有选择任何语言。

    显示空白语言的屏幕截图。

    显示英语的屏幕截图。

下面是门户支持的语言代码列表:

  • en-US:英语

  • fr-FR: français

  • de-DE: Deutsch

  • cs-CZ: čeština

  • da-DK:Dansk

  • el-GR: Εινιιά

  • es-ES:español

  • fi-FI:suomi

  • 胡-胡:马吉亚尔

  • it-IT: italiano

  • ja-JP: 日本发布日期

  • ko-KR: 한국어

  • nb-NO: norsk

  • nl-NL:内德兰兹

  • pl-PL:polski

  • pt-BR: português (巴西)

  • pt-PT: português (葡萄牙)

  • ru-RU: русский

  • sv-SE:svenska

  • tr-TR: Türkçe

  • zh-CHS: 中文(简体)

  • zh-TW: 中文(简体)

  • zh-HK: 中文 (香港於行政」)

我的项目的时间显示始终指示 AM

若要解决此问题,请查找“utc 日期”标记,并在下面文件夹中将 DateTime.Parse(xyz).ToString("yyyy,M,d,h,m,s") 替换为 DateTime.Parse(xyzToString("yyyy,M,d,H,m,s"):

  • Views\KnowledgeBase\Article.cshtml

  • Views\MyActivities\ActivityDetails.cshtml

  • Views\MyRequests\RequestDetails.cshtml

  • Views\Shared\_Layout.cshtml

后续步骤