簡介
本文介紹ECE Web伺服器設計,並說明如何解決與IIS相關的一些最常見問題。
必要條件
需求
思科建議您瞭解以下主題:
- 企業版聊天與電子郵件(ECE)
- Microsoft Internet資訊服務(IIS)
採用元件
本檔案中的資訊是根據以下軟體版本:
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。
Web伺服器體系結構
ECE 11.6和12.0基於IIS 8.5版。ECE Web伺服器使用IIS作為前端伺服器,ECE Application Server作為後端伺服器工作。ECE Web伺服器的主要工作是顯示網站內容(預設資料夾C:\ECE\eService),而應用伺服器負責邏輯、終端使用者與顯示內容之間的互動。ECE應用伺服器與Web伺服器協同工作,其中一台顯示,另一台互動。
所有傳入流量都流向前端。這意味著它需要根據站點繫結偵聽埠80/443(IIS Manager >預設網站>繫結)
附註:當僅通過HTTP與WEB伺服器通訊時,這是預設檢視。有關如何啟用HTTPS的詳細說明,請參閱ECE Installation and Configuration Guide的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伺服器設定的全域性預設值。
ApplicationHost.config檔案可以在資料夾%WINDIR%\system32\inetsrv\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/egin/chat/entrypoint/agentAvailability/1000)時,IIS使用重定向URL重寫規則將該請求重定向到ECE應用程式伺服器埠9001:
根據ECE版本,重寫規則儲存在ApplicationHost.config檔案中或儲存在Web.config檔案中,這些檔案位於%SystemDrive%\inetpub\wwwroot中。在此檔案中,可以看到<rewrite>部分包含此規則定義。
安裝程式會處理重寫部分,但有時可能會修改此資料,從而導致聊天模板或API無法正常工作。所以這是第一個在發現症狀時要檢查的地方。
應用伺服器配置
在非冗餘解決方案中,應用程式伺服器不需要任何自定義。安裝程式自行預部署和配置系統。但是在高可用性(HA)部署中,ECE可以安裝多個網路伺服器和應用伺服器。在這種情況下,對於部署中的每個Web伺服器,必須安裝單獨的應用程式伺服器(1到1對映)。
如何確定哪台應用程式伺服器與哪台Web伺服器相關聯?
檢查此情況的最快方法是開啟位於Web伺服器上的配置檔案,並檢查worker.default.host引數:
C:\ECE\eService\installation\egain-plugin\workers.properties
IIS中的HTTP響應標頭
HTTP響應報頭是從伺服器發回的具有所請求內容的字串的名稱值對。它們通常用於傳輸技術資訊,如瀏覽器必須如何快取內容、內容型別、伺服器上運行的軟體等。HTTP response Headers日益成為客戶端驗證以呈現來自伺服器的響應的報頭。可以是靜態請求,也可以是動態請求。
在ECE中,每個應用程式都有其唯一的HTTP響應報頭屬性。預設情況下,任何進入Web伺服器的請求都具有以下標頭:
X-UA-Compatible是一個文檔模式元標籤,允許選擇頁面必須呈現為哪個版本的Internet Explorer。它強制瀏覽器渲染為該特定版本的標準(自IE 9)。
在某些情況下,安裝程式不會在安裝過程中新增X-UA相容的報頭。這可能是因為安裝期間使用的帳戶許可權所致。作為解決方法,可以手動新增此引數。
注意:不得有任何其他標頭。
IIS管理器授權
如果應用程式伺服器已啟動並運行,但您無法通過應用程式伺服器並且IIS頁面給出錯誤,則檢查IIS授權設定可能會有所幫助。可能是安裝期間使用的帳戶無法讀取eService檔案夾。
如果在IIS Manager中選擇應用程式池並選擇基本設定,則會看到以下視窗:
在此,安裝程式指定擁有在預設路徑上執行操作的完整許可權的使用者名稱和密碼。通過選擇測試設定……按鈕,確保應用程式池標識對物理路徑具有「讀取」許可權。如果您在Authentication或Authorization旁邊看到黃色圖示,則必須檢查帳戶的憑據和許可權。
此外,這還可能是將WEB伺服器從本地網路移至DMZ時的一種情況。如果當前域使用者在DMZ中不存在,也必須在此處更新新的使用者憑據。可以是域使用者或本地管理員。