概要
このドキュメントでは、ECE Webサーバの設計について説明し、IISに関連する最も一般的な問題の解決方法を示します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- エンタープライズチャットおよび電子メール(ECE)
- Microsoft Internet Information Services(IIS)
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアのバージョンに基づいています。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。
Webサーバアーキテクチャ
ECE 11.6および12.0はIISバージョン8.5に基づいています。ECE WebサーバはIISを使用してフロントエンドサーバとして動作し、ECE Application Serverはバックエンドサーバとして動作します。ECE Webサーバの主な仕事は、サイトのコンテンツ(デフォルトフォルダC:\ECE\eService)を表示することであり、アプリケーションサーバがロジック、エンドユーザと表示されたコンテンツ間のインタラクションを担当します。ECEアプリケーションサーバは、Webサーバと連携して動作します。Webサーバでは、一方が表示され、もう一方が対話します。
すべての着信トラフィックはフロントエンドに送信されます。これは、サイトのバインディング([IIS Manager] > [Default Web Site] > [Bindings])に基づいて、ポート80/443をリッスンする必要があることを意味します
注:これは、WEBサーバとの通信がHTTPを介してのみ行われる場合のデフォルトのビューです。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に保持することを推奨します。
App Serverのインタラクション
Webサーバが要求をAPPサーバにリダイレクトする方法
ApplicationHost.configは、IIS構成のルートファイルです。すべてのサイト、アプリケーション、仮想ディレクトリ、およびアプリケーションプールの定義に加え、Webサーバ設定のグローバルなデフォルトも含まれます。
ApplicationHost.configファイルは、フォルダ%WINDIR%\system32\inetsrv\configにあります。
ECE Webサーバコンポーネントがインストールされると、IISのコアファイル(ApplicationHost.config)に対するECE要件に基づいて、インストールプロセスが変更されます。インストールの一部として、2つのアプリケーションが作成されます。最初のアプリケーションは、パーティション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フォルダのレイアウト全体です
適切なアプリケーションの機能のためにIISから到達可能にする必要がある複数のコンポーネントがあるため、システムはeServiceフォルダ全体にアクセスできます。
- binには、すべての初期化/起動ファイルが含まれます
- configには、すべての構成ファイルが含まれています
- logには、アプリケーションのリアルタイムログが含まれます
IISで使用される主なフォルダは、テンプレートとWebでする。
- エントリポイントに着信するすべての要求に使用されるテンプレート(チャット/コールバックテンプレート)
- webコンソール(管理、システム、ツールなど)への要求に使用されるweb
プラットフォームからのその他の要求は、リダイレクトによって処理されます。たとえば、エージェント可用性API要求(ECE_webserver_name/system/egain/chat/entrypoint/agentAvailability/1000)を使用する場合、IISはリダイレクトURL書き換えルールを使用して、その要求をECEアプリケーションサーバポート90001に001に00100000000100000000000000000000000000000000000000000000000000000
ECEのバージョンに応じて、書き換えルールはApplicationHost.configファイルまたは%SystemDrive%\inetpub\wwwrootにあるWeb.configファイルのいずれかに格納されます。このファイルには、このルール定義を含む<rewrite>セクションが表示されます。
インストーラはリライトセクションを処理しますが、このデータが変更される場合があり、その結果、チャットテンプレートやAPIが正しく動作しないことがあります。このような症状が発生した場合にチェックする必要がある最初の場所です。
App Serverの設定
非冗長ソリューションでは、アプリケーションサーバにカスタマイズは不要です。インストーラは、システムを自動的にプリデプロイして設定します。ただし、ハイアベイラビリティ(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 Managerでアプリケーションプールを選択し、基本設定を選択すると、次のウィンドウが表示されます。
ここでは、デフォルトパスで操作を実行するための完全な権限を持つユーザ名とパスワードを指定します。[Test Settings..]ボタンを選択して、アプリケーションプールIDに物理パスへの読み取りアクセス権があることを確認します。[Authentication]または[Authorization]の横に黄色のアイコンが表示されている場合は、アカウントの認証情報と権限を確認する必要があります。
また、WEBサーバをローカルネットワークからDMZに移動する場合のシナリオである可能性があります。現在のドメインユーザがDMZに存在しない場合は、新しいユーザクレデンシャルもここで更新する必要があります。ドメインユーザまたはローカル管理者のいずれかになります。