Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Architettura server Web

Interazioni server applicazioni

Configurazione server applicazioni

Intestazioni risposte HTTP in IIS

Autorizzazione Gestione IIS

Introduzione

In questo documento viene descritta la progettazione di server Web ECE e viene illustrato come risolvere alcuni dei problemi più comuni relativi a IIS.

Prerequisiti

Requisiti

Cisco raccomanda la conoscenza dei seguenti argomenti:

- Enterprise Chat and Email (ECE)

- Microsoft Internet Information Services (IIS)

Componenti usati

Le informazioni di questo documento si basano sulle seguenti versioni software:

- ECE 11.6, 12.0

Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti.

Architettura server Web

La versione ECE 11.6 e 12.0 si basa su IIS versione 8.5. Il server Web ECE utilizza IIS come server front-end, mentre il server applicazioni ECE funziona come server back-end. Il compito principale del server Web ECE è visualizzare il contenuto del sito (cartella predefinita C:\ECE\eService) e il server applicazioni è responsabile della logica, dell'interazione tra l'utente finale e il contenuto visualizzato. Il server applicazioni ECE funziona insieme al server Web, in cui uno viene visualizzato e l'altro interagisce.

Tutto il traffico in entrata viene indirizzato al front-end. Ciò significa che deve essere in ascolto della porta 80/443, in base alle associazioni del sito (Gestione IIS > Sito Web predefinito > Associazioni)

Nota: Questa è la visualizzazione predefinita quando la comunicazione con il server WEB avviene solo tramite HTTP. Per istruzioni dettagliate sull'attivazione di HTTPS, vedere la Guida di installazione e configurazione ECE, capitolo Configurazione SSL.

HTTP funziona come protocollo richiesta-risposta tra un client e un server, dove il client è un browser Web. Tutto inizia quando il browser invia una richiesta HTTP al server; la richiesta viene elaborata dal server Web ECE, ottiene la risposta dal database ECE e restituisce al client una risposta HTTP.

Il flusso di dati HTTP di base è Browser Web > Server Web ECE (IIS) > Server applicazioni ECE > Server database ECE (MS SQL). È possibile configurare i server Web dietro il servizio di bilanciamento del carico.

Suggerimento: In ambiente ECE si consiglia di mantenere il server Web ECE e/o LB nella DMZ.

Interazioni server applicazioni

Come il server Web reindirizza la richiesta al server APP?

ApplicationHost.config è il file radice della configurazione di IIS. Include le definizioni di tutti i siti, le applicazioni, le directory virtuali e i pool di applicazioni, nonché le impostazioni globali predefinite per il server Web.

Il file ApplicationHost.config è disponibile nella cartella %WINDIR%\system32\inetsrv\config

Quando viene installato il componente server Web ECE, il processo di installazione apporta modifiche, basate sui requisiti ECE, ai file di base di IIS, ovvero ApplicationHost.config. Durante l'installazione, vengono create due applicazioni. La prima è l'applicazione di sistema che ha tutto il contenuto relativo alla partizione 0. E l'applicazione predefinita che si riferisce alla partizione 1. Ciò include la console di amministrazione, l'agente leggero, la console del supervisore, i report e così via. In ECE 12.x l'agente leggero viene creato come parte di un'applicazione separata e in 12.x i clienti possono utilizzarlo in produzione senza Finesse.

Queste impostazioni vengono aggiunte dal programma di installazione ECE al file ApplicationHost.config per le applicazioni:

<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>

Il programma di installazione ECE si occupa di tutto, non è necessario apportare modifiche manuali alla configurazione nella console di gestione IIS. Se non ci sono modifiche, tutto funziona come previsto.

Si tratta dell'intero layout della cartella eService disponibile nella directory di installazione C:\ECE\eService

Il sistema fornisce l'accesso all'intera cartella eService perché esistono più componenti che devono essere raggiungibili da IIS per la corretta funzionalità dell'applicazione.

- bin contiene tutti i file di inizializzazione/avvio

- config contiene tutti i file di configurazione

- log contiene i log in tempo reale dell'applicazione

Le cartelle principali utilizzate da IIS sono modelli e Web.

- modelli utilizzati per ogni richiesta che arriva al punto di ingresso (modello chat/callback)

- web utilizzato per qualsiasi richiesta alla console web (admin, system, tools, ecc.)

Qualsiasi altra richiesta dalla piattaforma viene gestita dal reindirizzamento. Ad esempio, quando si utilizza la richiesta dell'API di disponibilità dell'agente (ECE_webserver_name/system/regain/chat/entrypoint/agentAvailability/1000), IIS utilizza le regole di riscrittura dell'URL di reindirizzamento per reindirizzare la richiesta alla porta 9001 del server applicazioni ECE:

A seconda della versione ECE, le regole di riscrittura vengono memorizzate nel file ApplicationHost.config o nei file Web.config che si trovano in %SystemDrive%\inetpub\wwwroot. In questo file è possibile visualizzare la sezione <rewrite> contenente la definizione della regola.

Il programma di installazione si occupa della sezione di riscrittura, ma a volte questi dati possono essere modificati e di conseguenza i modelli di chat o le API non funzionano correttamente. Questo è il primo punto da controllare quando si osservano questi sintomi.

Configurazione server applicazioni

In una soluzione non ridondante, il server applicazioni non richiede alcuna personalizzazione. L'installatore preinstalla e configura il sistema da solo. Tuttavia, nell'implementazione ad alta disponibilità (HA), ECE può essere installato con più server WEB e applicazioni. In questo caso, per ogni server Web nella distribuzione deve essere installato un server applicazioni separato (mappa da 1 a 1).

Come è possibile identificare il server applicazioni associato al server Web?

Il modo più rapido per verificare questa condizione consiste nell'aprire il file di configurazione che si trova sul server Web e verificare il parametro worker.default.host:

C:\ECE\eService\installation\egain-plugin\workers.properties

Intestazioni risposte HTTP in IIS

Le intestazioni di risposta HTTP sono coppie nome-valore di stringhe restituite da un server con il contenuto richiesto. Vengono in genere utilizzati per trasferire informazioni tecniche quali il modo in cui un browser deve memorizzare il contenuto nella cache, il tipo di contenuto, il software eseguito sul server e altro ancora. Le intestazioni di risposta HTTP sono sempre più spesso quelle che vengono convalidate dal client per il rendering delle risposte provenienti dal server. Può trattarsi di una richiesta statica o dinamica.

In ECE ogni applicazione dispone di proprietà delle intestazioni delle risposte HTTP univoche. Per impostazione predefinita, le richieste inviate al server Web hanno questa intestazione:

Compatibile con X-UA è un metatag della modalità documento che consente di scegliere quale versione di Internet Explorer deve essere visualizzata nella pagina. Impone al browser di eseguire il rendering come standard di quella particolare versione (a partire da IE 9).

In alcuni casi il programma di installazione non aggiunge l'intestazione X-UA-Compatible durante l'installazione. Ciò può verificarsi a causa delle autorizzazioni dell'account utilizzate durante l'installazione. Per risolvere il problema, questo parametro può essere aggiunto manualmente.

Attenzione: Non devono essere presenti altre intestazioni.

Autorizzazione Gestione IIS

Nel caso in cui il server applicazioni sia attivo e in esecuzione, ma non sia possibile passare attraverso il server applicazioni e la pagina IIS restituisca un errore, può essere utile controllare le impostazioni di autorizzazione IIS. È possibile che l'account utilizzato durante l'installazione non sia in grado di leggere la cartella eService.

Se si seleziona il pool di applicazioni in Gestione IIS e si scelgono le impostazioni di base, verrà visualizzata questa finestra:

Qui il programma di installazione specifica il nome utente e la password che hanno i privilegi completi per eseguire operazioni sul percorso predefinito. Verificare che l'identità del pool di applicazioni disponga dell'accesso in lettura al percorso fisico selezionando il pulsante Impostazioni test... Se accanto a Autenticazione o Autorizzazione viene visualizzata un'icona gialla, è necessario verificare le credenziali e le autorizzazioni dell'account.

Può inoltre trattarsi di uno scenario in cui il server WEB viene spostato dalla rete locale alla DMZ. Se l'utente corrente del dominio non è presente nella DMZ, è necessario aggiornare anche le nuove credenziali utente. Può essere un utente di dominio o un amministratore locale.