简介
本文档介绍ECE Web服务器设计,并说明如何解决与IIS相关的一些最常见问题。
先决条件
要求
Cisco 建议您了解以下主题:
- 企业聊天和电子邮件(ECE)
- Microsoft Internet Information Services (IIS)
使用的组件
本文档中的信息基于以下软件版本:
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。
Web服务器架构
ECE 11.6和12.0基于IIS版本8.5。ECE Web服务器使用IIS作为前端服务器,ECE应用服务器作为后端服务器。ECE Web服务器的主要工作是显示网站内容(默认文件夹C:\ECE\eService),应用服务器负责逻辑、最终用户与显示内容的交互。ECE应用服务器与Web服务器配合工作,其中一个显示,另一个交互。
所有传入流量都流向前端。这意味着它需要根据站点绑定(IIS管理器>默认网站>绑定)侦听端口80/443。
注意:当仅通过HTTP与WEB服务器通信时,这是默认视图。有关如何激活HTTPS的详细说明,请参阅ECE安装和配置指南(SSL Configuration)一章中的。
HTTP在客户端和服务器(客户端是Web浏览器)之间用作请求 — 响应协议。当浏览器向服务器提交HTTP请求时,一切都会开始;该请求由ECE Web服务器处理,从ECE数据库获取响应并作为HTTP响应返回给客户端。
此处的基本HTTP数据流是Web Browser > ECE Web Server(IIS)> ECE Application Server > ECE Database Server(MS SQL)。 可以在负载均衡器后配置Web服务器。
提示:在ECE环境中,我们建议将ECE Web服务器和/或LB保留在DMZ中。
应用服务器交互
Web服务器如何将请求重定向到APP服务器?
ApplicationHost.config是IIS配置的根文件。它包括所有站点、应用、虚拟目录和应用程序池的定义,以及Web服务器设置的全局默认值。
在文件夹%WINDIR%\system32\inetsrv\config中可以找到ApplicationHost.config文件
安装ECE Web服务器组件时,安装过程会根据ECE要求对IIS的核心文件(即ApplicationHost.config)进行更改。在安装过程中,它会创建两个应用。第一个是系统应用程序,它包含与分区0相关的所有内容。而默认的与分区1相关的应用程序,它包括管理控制台、轻量级代理、管理控制台、报告等。在ECE 12.x中,轻量代理作为单独应用的一部分创建,在12.x中,客户可以在生产中使用它,而无需Finesse。
这些设置由ECE安装程序添加到应用的ApplicationHost.config:
<sites>
<site name="Default Web Site" id="1">
<application path="/">
<virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" />
</application>
<application path="/system" applicationPool="DefaultAppPool">
<virtualDirectory path="/" physicalPath="C:\ECE\eService" />
<virtualDirectoryDefaults userName="CC\ipccadmin"password="[enc:AesProvider:hzS/wGBY0K6+gZcYgQstzLqbstl1v71LMBwdPyPZyUM4769Txc4kCGpDgX3xc96L:enc]" />
</application>
applicationPool="DefaultAppPool"> <virtualDirectory path="/" physicalPath="C:\ECE\eService" /> <virtualDirectoryDefaults userName="CC\ipccadmin" password="[enc:AesProvider:0LYLPJwWZjuKhRHe2WLBa1Ysk8Zj8hiPqUbqzkVRKKI=:enc]" /> </application>
applicationPool="DefaultAppPool"> <virtualDirectory path="/" physicalPath="C:\ECE\eService" /> <virtualDirectoryDefaults userName="CC\ipccadmin" password="[enc:AesProvider:VtxnHOSTlS2xo1er82ROFEAyC4PeF5a9qnasmaR+WOg=:enc]" /> </application> <bindings> <binding protocol="http" bindingInformation="*:80:" /> <binding protocol="https" bindingInformation="*:443:" sslFlags="0" /> </bindings> </site>
ECE安装程序会处理所有事务,您不得在IIS管理控制台中进行任何手动配置更改。如果没有变化,一切都会按预期运行。
这是安装目录C:\ECE\eService下的eService文件夹的整个布局
系统允许访问整个eService文件夹,因为有多个组件必须可从IIS访问,才能使应用程序的功能正确。
- bin包含所有初始化/启动文件
- config包含所有配置文件
- log包含应用程序的实时日志
IIS使用的主文件夹是模板和Web。
- 用于进入入口点的每个请求的模板(聊天/回叫模板)
- web用于向web控制台(管理员、系统、工具等)发出任何请求
来自平台的任何其他请求都通过重定向处理。例如,当您使用代理可用性API请求(ECE_webserver_name/system/egain/chat/entrypoint/agentAvilability/1000)时,IIS使用重定向URL重写规则将该请求重定向到ECE应用程序服务器端口9001:
根据ECE版本,重写规则存储在ApplicationHost.config文件或Web.config文件(位于%SystemDrive%\inetpub\wwwroot)中。在此文件中,您可以看到包含此规则定义的<rewrite>部分。
安装程序会处理重写部分,但有时可以修改此数据,因此聊天模板或API无法正常工作。这是你看到这些症状时必须首先检查的地方。
应用服务器配置
在非冗余解决方案中,应用服务器不需要任何定制。安装程序自行预部署和配置系统。但是,在高可用性(HA)部署中,ECE可与多个WEB和应用服务器一起安装。在这种情况下,必须为部署中的每台Web服务器安装单独的应用服务器(1到1映射)。
如何确定哪个应用服务器与哪个Web服务器关联?
检查此项的最快方法是打开位于Web服务器上的配置文件并检查worker.default.host参数:
C:\ECE\eService\installation\egain-plugin\workers.properties
IIS中的HTTP响应报头
HTTP响应报头是从服务器发送回的包含您请求内容的字符串的名称 — 值对。它们通常用于传输技术信息,例如浏览器必须如何缓存内容、内容类型、软件在服务器上运行等。HTTP响应报头越来越多地由客户端验证,以呈现从服务器传入的响应。可以是静态请求或动态请求。
在ECE中,每个应用程序都有其唯一的HTTP响应报头属性。默认情况下,任何到Web服务器的请求都具有此报头:
X-UA-Compatible是一个文档模式元标记,允许选择必须呈现该页面的Internet Explorer版本。它强制浏览器呈现为该特定版本的标准(自IE 9起)。
在某些情况下,安装程序在安装期间不添加X-UA-Compatible报头。这可能是因为安装期间使用的帐户权限。对此的解决方法是,可以手动添加此参数。
警告:不得有任何其他信头。
IIS管理器授权
如果应用程序服务器已启动并正在运行,但您无法通过应用程序服务器,并且IIS页显示错误,则检查IIS授权设置会很有帮助。可能是安装期间使用的帐户无法读取eService文件夹。
如果在IIS管理器中选择应用程序池并选择基本设置,您会看到以下窗口:
此处,安装程序指定具有在默认路径上执行操作的完全权限的用户名和密码。通过选择Test Settings...按钮,确保应用程序池标识具有对物理路径的读取访问权限。如果在“身份验证”或“授权”旁看到黄色图标,则必须检查帐户的凭据和权限。
此外,当您将WEB服务器从本地网络移动到DMZ时,也可能是这种情况。如果当前域用户不在DMZ中,则新用户凭证也必须在此处更新。它可以是域用户或本地管理员。