IIS Modules Overview (Panoramica dei moduli IIS)

di IIS Team, Mike Volodarsky

Compatibilità

Versione Note
IIS 7.0 e versioni successive Le funzionalità descritte in questo articolo sono state introdotte in IIS 7.0.
IIS 6.0 e versioni precedenti Le funzionalità descritte in questo articolo non sono supportate prima di IIS 7.0.

Introduzione

Il set di funzionalità server Web IIS 7 e versioni successive viene inserito in più di trenta moduli indipendenti.

Un modulo è una DLL Win32 (modulo nativo) o un tipo .NET 2.0 contenuto in un assembly (modulo gestito). Analogamente a un set di blocchi predefiniti, i moduli vengono aggiunti al server per fornire le funzionalità desiderate per le applicazioni. Analogamente, tutti i moduli IIS possono essere rimossi o sostituiti con moduli personalizzati sviluppati usando le API C++ di IIS o le API ASP.NET 2.0 familiari.

Questo articolo descrive le attività comuni di gestione dei moduli IIS e illustra in dettaglio ogni modulo, incluse le impostazioni di configurazione e il potenziale effetto della rimozione di un modulo nel server Web. Gli esempi di gestione vengono forniti usando gestione IIS con interfaccia grafica e lo strumento da riga di comando AppCmd .

Prerequisiti

Per seguire la procedura descritta in questo documento, è consigliabile eseguire un'installazione completa di IIS.

Nota

Non tutte le edizioni di Windows supportano tutte le funzionalità IIS disponibili. Per vedere quali funzionalità di IIS sono supportate nel sistema operativo, è necessario consultare la documentazione fornita con la versione di Windows.

Per eseguire un'installazione completa di IIS in Windows Vista, Windows 7, Windows 8, Windows 10 o Windows 11

  1. Fare clic sul pulsante Start e scegliere Pannello di controllo.
  2. Nella Pannello di controllo fare clic su Programmi.
  3. In Programmi e funzionalità fare clic su Attivazione o disattivazione delle funzionalità Windows.
  4. Nella finestra di dialogo Funzionalità di Windows espandere Internet Information Services e selezionare tutte le funzionalità.
    Potrebbe essere necessario espandere alcune categorie per selezionare tutte le funzionalità di tale categoria.
  5. Fare clic su OK.

Per eseguire un'installazione completa di IIS in Windows Server 2008/R2, Windows Server 2012/R2 o Windows Server 2016

  1. Aprire Ruoli di Server Manager>e selezionare Server Web (IIS).
  2. Controllare tutte le funzionalità in Server Web.

Introduzione ai moduli

Per aggiungere un modulo al server, è necessario eseguire due passaggi:

  1. Installare un modulo nel server (solo moduli nativi).
  2. Abilitare il modulo in un'applicazione.

Il primo passaggio registra il modulo a livello globale con il server, rendendolo disponibile all'interno di ogni processo di lavoro del server. È necessario solo per i moduli nativi a causa della natura attendibile del codice nativo ed è disponibile solo per gli amministratori.

Nota

Un modulo nativo ha accesso illimitato a qualsiasi risorsa disponibile per il processo di lavoro del server, proprio come un filtro ISAPI o un'estensione nelle versioni precedenti. A causa di questo accesso senza restrizioni, è necessario installare solo moduli nativi provenienti da un'origine attendibile.

Il secondo passaggio consente all'esecuzione del modulo all'interno di un'applicazione specifica e consente in modo efficace all'amministratore dell'applicazione di controllare le funzionalità del server abilitate per l'applicazione. Questo passaggio consente l'abilitazione di moduli nativi installati e moduli gestiti per ogni applicazione.

Per installare un modulo nativo

Per installare un modulo nativo, è necessario registrarlo con il server usando una delle opzioni seguenti:

  • Modifica manuale dell'archivio di configurazione IIS. In IIS 7.5 e versioni successive è possibile usare l'Editor di configurazione in Gestione IIS.
  • Utilizzo di Gestione IIS
  • Uso dello strumento da riga di comando AppCmd.exe

Tutte e tre queste opzioni comportano l'aggiunta della voce del <modulo alla sezione di configurazione di IIS globalModules> , che può essere impostata solo a livello di server. Per esaminare il contenuto di questa sezione, aprire il file di configurazione radice disponibile in %windir%\system32\inetsrv\config\applicationhost.confige cercare la stringa "<globalModules>".

Dopo un'installazione completa di IIS, questa sezione contiene una voce per ognuno dei moduli nativi forniti con IIS, specificando un nome e il percorso della DLL del modulo:

<globalModules>
    <add name="DefaultDocumentModule" image="%windir%\system32\inetsrv\defdoc.dll" />
    <add name="DirectoryListingModule" image="%windir%\system32\inetsrv\dirlist.dll" />
    <add name="StaticFileModule" image="%windir%\system32\inetsrv\static.dll" />
    ...

</globalModules>

Tutti questi moduli sono descritti in dettaglio più avanti in questo documento.

Per disinstallare un modulo nativo

È possibile disinstallare un modulo nativo se tale modulo non è più in uso nel server o se si vuole sostituirlo con un altro modulo. Rimuovere la voce del modulo corrispondente dall'elenco <di configurazione globalModules> e la voce associata nell'elenco <modules> di configurazione usando una delle opzioni seguenti:

  • Modifica manuale dell'archivio di configurazione IIS. In IIS 7.5 e versioni successive è possibile usare l'editor di configurazione.
  • Utilizzo di Gestione IIS
  • Uso dello strumento da riga di comando AppCmd.exe

Nota

Poiché la <sezione di configurazione globalModules> può essere impostata solo a livello di server, è necessario essere un amministratore per disinstallare un modulo.

Abilitazione di un modulo per un'applicazione

Prima di poter fornire un servizio per una determinata applicazione, è necessario abilitare un modulo. Per abilitare un modulo nativo, è necessario prima installarlo nel server (vedere la sezione precedente Per installare un modulo nativo).

Un modulo gestito non richiede l'installazione e può essere abilitato direttamente per ogni applicazione. Ciò consente alle applicazioni di includere i moduli gestiti direttamente all'interno dell'applicazione registrandoli nel file web.config dell'applicazione e fornendo l'implementazione nelle directory /BIN o /App_Code.

Per abilitare un modulo, eseguire una delle operazioni seguenti:

  • Modificare manualmente l'archivio di configurazione IIS, a livello globale per abilitare il modulo per tutte le applicazioni nel server o in un file web.config specifico che si trova all'interno di ogni applicazione per cui si vuole abilitare questo modulo. In IIS 7.5 o versione successiva è possibile usare l'editor di configurazione.
  • Usare Gestione IIS
  • Usare lo strumento da riga di comando AppCmd.exe

Tutte e tre queste opzioni aggiungono la voce del modulo alla <modules> sezione configurazione iis, che può essere impostata sia a livello di server che di applicazione. Esaminare il contenuto di questa sezione aprendo il file di configurazione radice che si trova in %windir%\system32\inetsrv\config\applicationhost.confige cercando la stringa "<modules>".

A differenza dei moduli nativi, un modulo gestito non richiede l'aggiunta <di una voce alla sezione di configurazione globalModules> .

Dopo un'installazione completa di IIS, la sezione di configurazione contiene una voce per ogni modulo (sia gestito che nativo) fornito con IIS. La voce indica che tutti questi moduli sono abilitati per impostazione predefinita per tutte le applicazioni nel server. Ogni voce di questa sezione specifica il nome di un modulo nativo installato in precedenza nel server oppure il nome e il tipo .NET di un modulo gestito:

<modules>
<add name="DefaultDocumentModule" />
<add name="DirectoryListingModule" />
<add name="StaticFileModule"/>
 ...

</modules>

Disabilitazione di un modulo in un'applicazione

Disabilitare un modulo se tale modulo non è più in uso nell'applicazione o se si vuole sostituirlo con un altro modulo. Per disabilitare un modulo, rimuovere la voce del <modules> modulo corrispondente dalla raccolta di configurazione per una determinata applicazione in cui non si vuole eseguire questo modulo. Se il modulo è abilitato a livello di server, rimuoverlo per disabilitarlo in tutte le applicazioni nel server per impostazione predefinita. Usare una delle opzioni seguenti per rimuovere il modulo a livello di server:

  • Modificare manualmente la <sezione di configurazione system.webServer>/<modules> nell'applicazione.
  • Usare Gestione IIS.
  • Usare lo strumento da riga di comando AppCmd.exe .

Dopo che il modulo è stato rimosso dall'applicazione, non sarà attivo in tale applicazione. Tuttavia, se il modulo è nativo, verrà comunque caricato nel processo di lavoro del server e può essere usato da altre applicazioni che non lo hanno rimosso.

Nota

La sezione di configurazione viene sbloccata per impostazione predefinita se ASP.NET è installato. Questo sblocco predefinito consente alle applicazioni di disabilitare moduli nativi e gestiti abilitati a livello globale e di aggiungere nuovi moduli gestiti. Questa sezione di configurazione può essere bloccata a livello di server per impedire completamente la modifica o impedire la rimozione di voci di modulo specifiche, se desiderate dal Amministrazione istrator.

Condizioni preliminari

Esiste un altro attributo in una voce di modulo denominata precondizione. Il motore principale di IIS usa le precondizioni per determinare quando abilitare un modulo specifico. I motivi delle prestazioni, ad esempio, potrebbero determinare che si vogliono eseguire solo moduli gestiti per le richieste che passano anche a un gestore gestito. La precondizione nell'esempio seguente (precondizione="managedHandler") abilita solo il modulo di autenticazione basata su form per le richieste gestite anche da un gestore gestito, ad esempio le richieste ai file .aspx o asmx:

<add name="FormsAuthentication"type="System.Web.Security.FormsAuthenticationModule" preCondition="managedHandler" />

Se si rimuove l'attributo precondizione="managedHandler", l'autenticazione basata su form si applica anche al contenuto non gestito dai gestori gestiti, ad esempio .html, .jpg, .doc, ma anche per le estensioni ASP (.asp) classiche o PHP (.php). Per un esempio di abilitazione dell'esecuzione di moduli ASP.NET per tutto il contenuto, vedere "How to Advantage of IIS Integrated Pipeline" (Come sfruttare i vantaggi della pipeline integrata IIS).

È anche possibile usare un collegamento per consentire l'esecuzione di tutti i moduli gestiti (ASP.NET) per tutte le richieste nell'applicazione, indipendentemente dalla precondizione "managedHandler". Per consentire l'esecuzione di tutti i moduli gestiti per tutte le richieste senza configurare ogni voce di modulo per rimuovere la precondizione "managedHandler", usare la proprietà runAllManagedModulesForAllRequests nella <modules> sezione :

<modules runAllManagedModulesForAllRequests="true"/>

Quando si usa questa proprietà, la precondizione "managedHandler" non ha alcun effetto e tutti i moduli gestiti vengono eseguiti per tutte le richieste.

Esecuzione di query, aggiunta e rimozione di moduli tramite Gestione IIS

Gestione IIS offre un modo semplice per eseguire query, aggiungere o rimuovere moduli.

  1. Per aprire Gestione IIS, fare clic su Start, digitare inetmgr nella casella Di ricerca e quindi premere INVIO.
  2. Fare clic sul nome del computer del server IIS.
  3. Fare clic sull'icona Moduli nella categoria IIS .

Responsabile IIS

Figura 1: Gestione IIS

Per gestire i moduli abilitati per una determinata applicazione

  1. Connessione a tale applicazione usando la visualizzazione albero a sinistra.
  2. Passare al riquadro funzionalità Moduli.
  3. Fare clic su Aggiungi modulo gestito per aggiungere un modulo gestito all'applicazione. L'aggiunta del modulo nativo consente solo di aggiungere un modulo già registrato a livello di server.

Per rimuovere un modulo dall'applicazione

  1. Fare clic sul modulo nell'elenco. L'attività Rimuovi viene visualizzata nel riquadro sinistro.
  2. Fare clic su Rimuovi.

Elenco moduli in Gestione IIS

Figura 2: Elenco moduli in Gestione IIS

Gestione dei moduli dalla riga di comando

Per gestire rapidamente i moduli dalla riga di comando o dalle attività di gestione dei moduli script, usare lo strumento da riga di comando AppCmd.exe .

Per installare un modulo usando AppCmd.exe

Al prompt dei comandi digitare il comando seguente, sostituendo i valori in corsivo con i valori per il modulo nel computer.

Appcmd.exe install module /name:MODULE_NAME /image:PATH_TO_DLL

Nota

L'installazione di un modulo nativo lo abilita automaticamente a livello di server.

Ad esempio, il comando seguente installa il modulo Documento predefinito.

%windir%\system32\inetsrv\appcmd.exe install module /name:DefaultDocumentModule /image:%windir%\system32\inetsrv\defdoc.dll

Se si esegue il comando in un computer in cui il modulo è già caricato, verrà visualizzato un messaggio di errore simile al seguente:

ERROR (message:Failed to add duplicate collection element "DefaultDocumentModule".)

Per disinstallare un modulo usando AppCmd.exe

Al prompt dei comandi digitare il comando seguente, sostituendo i valori in corsivo con i valori per il modulo nel computer.

Appcmd.exe uninstall module MODULE_NAME

Nota

La disinstallazione di un modulo la disabilita automaticamente a livello di server.

Ad esempio, il comando seguente disinstalla il modulo Documento predefinito. Questo comando viene fornito solo come esempio. È consigliabile eseguirlo solo in un server di test.

%windir%\system32\inetsrv\appcmd.exe uninstall module DefaultDocumentModule

Per elencare i moduli abilitati per un'applicazione o a livello globale

Al prompt dei comandi digitare il comando seguente, sostituendo i valori in corsivo con i valori per il modulo nel computer.

Appcmd.exe list modules [/app.name:APPLICATION_NAME]

Ad esempio, il comando seguente elenca i moduli abilitati per il sito Web predefinito.

%windir%\system32\inetsrv\appcmd.exe list modules /app.name:"Default Web Site"

Questo comando elenca i moduli installati a livello globale.

%windir%\system32\inetsrv\appcmd.exe list modules

Per abilitare un modulo per una particolare applicazione o a livello globale

Al prompt dei comandi digitare il comando seguente, sostituendo i valori in corsivo con i valori per il modulo nel computer.

Appcmd.exe add module /name:MODULE_NAME /type:MGD_TYPE

Ad esempio, il comando seguente aggiunge il modulo Autenticazione basata su form al sito Web predefinito.

%windir%\system32\inetsrv\appcmd.exe add module /name:FormsAuthentication /type:System.Web.Security.FormsAuthenticationModule /app.name:"Default Web Site"

Questo comando aggiunge il modulo di autenticazione basata su form a livello globale.

%windir%\system32\inetsrv\appcmd.exe add module /name:FormsAuthentication /type:System.Web.Security.FormsAuthenticationModule

Per disabilitare un modulo per una particolare applicazione o a livello globale

Al prompt dei comandi digitare il comando seguente, sostituendo i valori in corsivo con i valori per il modulo nel computer.

Appcmd.exe delete module MODULE_NAME [/app.name:APPLICATION_NAME]

Ad esempio, il comando seguente rimuove il modulo Autenticazione basata su form dal sito Web predefinito.

%windir%\system32\inetsrv\appcmd.exe delete module FormsAuthentication /app.name:"Default Web Site"

Questo comando rimuove il modulo di autenticazione basata su form a livello globale.

%windir%\system32\inetsrv\appcmd.exe delete module FormsAuthentication

Per ottenere altre informazioni sulla sintassi per ognuno dei comandi di Cmd.exe app

Per visualizzare i comandi supportati nell'oggetto Module, digitare il comando seguente:

Appcmd.exe module /?

Per visualizzare l'utilizzo di ogni comando, digitare il comando seguente:

Appcmd.exe install module /?Appcmd add module /?

informazioni di riferimento sul modulo

Il server IIS è pronto per la personalizzazione. Leggere attentamente l'elenco seguente per evitare effetti collaterali, perdita di funzionalità o rimozione delle funzionalità di sicurezza.

Moduli di utilità

Questi moduli non forniscono servizi di richiesta, ma supportano invece il motore del server con il relativo funzionamento interno.

Nome modulo: UriCacheModule
Descrizione: Implementa una cache generica per lo stato del server specifico dell'URL, ad esempio la configurazione. Con questo modulo, il server legge solo la configurazione per la prima richiesta di un URL specifico e la riutilizza nelle richieste successive fino a quando non cambia.
Sezioni di configurazione: Nessuno.
Dipendenze: Nessuno.
Potenziali problemi durante la rimozione di questo modulo Perdita di prestazioni dovuta allo stato memorizzato nella cache per ogni recupero url per ogni richiesta.
Nome modulo: FileCacheModule
Descrizione: Memorizza nella cache gli handle di file per i file aperti dal motore server e dai moduli.
Sezioni di configurazione: Nessuno.
Dipendenze: Nessuno.
Potenziali problemi durante la rimozione di questo modulo Perdita di prestazioni. Se gli handle di file non vengono memorizzati nella cache, i file devono essere aperti per ogni richiesta.
Nome modulo: TokenCacheModule
Descrizione: Memorizza nella cache i token di sicurezza di Windows per schemi di autenticazione basati su password (autenticazione anonima, autenticazione di base, autenticazione client IIS).
Sezioni di configurazione: Nessuno.
Dipendenze: Nessuno.
Potenziali problemi durante la rimozione di questo modulo Perdita di prestazioni. Gli utenti devono essere connessi per ogni richiesta se il token non è memorizzato nella cache. Un impatto significativo sulle prestazioni può risultare. Ad esempio, se una pagina HTML protetta da password fa riferimento a 50 immagini protette, 51 chiamate di accessoUtente al database dell'account locale, o peggio, a un controller di dominio disattivato, comportano un problema di prestazioni.
Nome modulo: ManagedEngine
Descrizione: Il motore gestito ha una posizione speciale all'interno di tutti gli altri moduli. È responsabile della fornitura dell'integrazione IIS per l'associazione al runtime di ASP.NET.
Sezioni di configurazione:
Dipendenze: Nessuno.
Potenziali problemi durante la rimozione di questo modulo ASP.NET'integrazione verrà disabilitata. Nessuno dei moduli gestiti dichiarati nei <modules> gestori o ASP.NET dichiarati nella <handlers> sezione viene chiamato quando il pool di applicazioni viene eseguito in modalità integrata.
Nome modulo: HttpCacheModule
Descrizione: HttpCacheModule implementa la cache di output IIS e anche la logica per la memorizzazione nella cache degli elementi nella cache http.sys. Impostare le dimensioni della cache, i profili della cache di output e così via tramite la configurazione.
Sezioni di configurazione: System.webServer/caching
Dipendenze: Nessuno.
Potenziali problemi durante la rimozione di questo modulo Il contenuto non verrà più memorizzato nella cache in modalità kernel. I profili della cache vengono ignorati. La rimozione di HttpCacheModule avrà probabilmente effetti negativi sulle prestazioni e sull'utilizzo delle risorse.
Nome modulo: DynamicCompressionModule
Descrizione: Implementa la compressione in memoria del contenuto dinamico.
Sezioni di configurazione: system.webServer/httpCompression e system.webServer/urlCompression.
Dipendenze: Non ci saranno dipendenze perché la compressione dinamica è disattivata per impostazione predefinita.
Nome modulo: StaticCompressionModule
Descrizione: Implementa la compressione (in memoria e persistente nel file system) del contenuto statico.
Sezioni di configurazione: system.webServer/httpCompression e system.webServer/urlCompression
Dipendenze: Nessuno.
Potenziali problemi durante la rimozione di questo modulo Potenziale saturazione della larghezza di banda a causa del contenuto non compresso inviato al client.
Nome modulo: DefaultDocumentModule
Descrizione: Implementa la funzionalità predefinita del documento. Le richieste fornite con un oggetto finale/verranno reindirizzate a un documento nell'elenco di documenti predefinito.
Sezioni di configurazione: system.webServer/defaultDocument
Dipendenze: Nessuno.
Potenziali problemi durante la rimozione di questo modulo Le richieste a /, ad esempio http://localhost/, restituiscono un errore 404. Se è abilitata una directoryBrowsing, viene generato un elenco di directory.
Nome modulo: DirectoryListingModule
Descrizione: Implementa la funzionalità di esplorazione della directory.
Sezioni di configurazione: system.webServer/directoryBrowse
Dipendenze: Nessuno.
Potenziali problemi durante la rimozione di questo modulo Se il modulo di documento predefinito e il modulo directoryListing gestiscono una richiesta per /, viene restituita una risposta vuota.
Nome modulo: ProtocolSupportModule
Descrizione: Implementa intestazioni di risposta personalizzate e di reindirizzamento. Implementa i verbi HTTP di traccia e opzioni. Implementa il supporto che consente o disattiva il supporto keep-alive tramite la configurazione.
Sezioni di configurazione: system.webServer/httpProtocol
Dipendenze: Nessuno.
Potenziali problemi durante la rimozione di questo modulo Le richieste TRACE o OPTIONS restituiscono un messaggio di errore "Metodo 405 non consentito".
Nome modulo: HttpRedirectionModule
Descrizione: Implementa la funzionalità di reindirizzamento.
Sezioni di configurazione: system.webServer/httpRedirect
Dipendenze: Nessuno.
Potenziali problemi durante la rimozione di questo modulo Potenziale problema di sicurezza se le risorse sono protette dal reindirizzamento. Quando il modulo Reindirizzamento viene rimosso, il contenuto diventa nuovamente accessibile.
Nome modulo: ServerSideIncludeModule
Descrizione: Implementa il lato server include. Questo modulo viene mappato come gestore, in esecuzione solo per le richieste che terminano con .stm, .shtm e .shtml.
Sezioni di configurazione: system.webServer/serverSideInclude
Dipendenze: Nessuno.
Potenziali problemi durante la rimozione di questo modulo Il modulo del file statico handle.stm, i file con estensione shtm e shtml. Se questo modulo ha un mimeMap per queste estensioni, i file diventano serviti come testo. Si noti, tuttavia, che non si tratta dell'impostazione predefinita.
Nome modulo: StaticFileModule
Descrizione: Invia file statici con estensione .html, .jpg e molti altri. La raccolta di configurazione staticContent/mimeMap determina l'elenco delle estensioni di file.
Sezioni di configurazione: system.webServer/staticContent
Dipendenze: Nessuno.
Potenziali problemi durante la rimozione di questo modulo I file statici non vengono più gestiti. Le richieste di file restituiscono un errore 404 Non trovato che indica che non è stato trovato alcun gestore corrispondente.
Nome modulo: AnonymousAuthenticationModule
Descrizione: Implementa l'autenticazione anonima. Questo modulo genera l'oggetto HttpUser se un URL è configurato per consentire l'autenticazione anonima.
Sezioni di configurazione: system.webServer/security/authentication/anonymousAuthentication
Dipendenze: Nessuno.
Potenziali problemi durante la rimozione di questo modulo È necessario configurare almeno un modulo di autenticazione. Il core del server IIS controlla dopo la fase di autenticazione se l'oggetto HttpUser viene popolato. L'oggetto HttpUser è una struttura di dati IIS. Un errore 401.2 genera se non è presente alcuna autenticazione che popola l'oggetto HttpUser.
Nome modulo: CertificateMappingAuthenticationModule
Descrizione: Mappe certificati client SSL a un account Active Directory (Mapping certificati Active Directory).
Sezioni di configurazione: system.webServer/security/authentication/clientCertificateMappingAuthentication
Dipendenze: Ssl deve essere configurato per il funzionamento di questo modulo. Il computer IIS deve anche essere membro di un dominio di Active Directory.
Potenziali problemi durante la rimozione di questo modulo Le richieste sono in genere consentite se viene usato il mapping dei certificati Active Directory per proteggere una directory; in questo caso, il modulo viene rimosso.
Nome modulo: BasicAuthenticationModule
Descrizione: implementa l'autenticazione HTTP Basic descritta in RFC 2617.
Sezioni di configurazione: system.webServer/security/authentication/basicAuthentication
Dipendenze: Nessuno.
Potenziali problemi durante la rimozione di questo modulo È necessario configurare almeno un modulo di autenticazione. Il core del server IIS controlla dopo la fase di autenticazione se l'oggetto HttpUser viene popolato. L'oggetto HttpUser è una struttura di dati IIS. Un errore 401.2 genera se non è presente alcuna autenticazione che popola l'oggetto HttpUser.
Nome modulo: Windowsauthenticationmodule
Descrizione: Implementa autenticazione di Windows (NTLM o Negotiate (Kerberos)).
Sezioni di configurazione: system.webServer/security/authentication/windowsAuthentication
Dipendenze: Nessuno.
Potenziali problemi durante la rimozione di questo modulo È necessario configurare almeno un modulo di autenticazione. Il core del server IIS controlla dopo la fase di autenticazione se l'oggetto HttpUser viene popolato. L'oggetto HttpUser è una struttura di dati IIS. Se non è presente alcuna autenticazione che popola l'oggetto HttpUser, viene generato un errore 401.2.
Nome modulo: DigestAuthenticationModule
Descrizione: Implementa l'autenticazione digest descritta in RFC 2617.
Sezioni di configurazione: system.webServer/security/authentication/digestAuthentication
Dipendenze: Il server IIS deve far parte di un dominio di Active Directory.
Potenziali problemi durante la rimozione di questo modulo È necessario configurare almeno un modulo di autenticazione. Il core del server IIS controlla dopo la fase di autenticazione se l'oggetto HttpUser viene popolato. L'oggetto HttpUser è una struttura di dati IIS. Se non è presente alcuna autenticazione che popola l'oggetto HttpUser, viene generato un errore 401.2.
Nome modulo: IISCertificateMappingAuthenticationModule
Descrizione: Implementa il mapping dei certificati IIS. Mappe certificati client SSL a un account Di Windows. Contrariamente al mapping dei certificati Active Directory, le credenziali utente e le regole di mapping vengono archiviate nell'archivio di configurazione IIS
Sezioni di configurazione: system.webServer/iisClientCertificateMappingAuthentication
Dipendenze: SSL con il requisito di ricevere i certificati client deve essere configurato affinché questo modulo funzioni.
Potenziali problemi durante la rimozione di questo modulo È necessario configurare almeno un modulo di autenticazione. Il core del server IIS controlla dopo la fase di autenticazione se l'oggetto HttpUser viene popolato. L'oggetto HttpUser è una struttura di dati IIS. Un errore 401.2 genera se non è presente alcuna autenticazione che popola l'oggetto HttpUser.
Nome modulo: Urlauthorizationmodule
Descrizione: Implementa l'autorizzazione in base alle regole di configurazione.
Sezioni di configurazione: system.webServer/security/authorization
Dipendenze: Nessuno.
Potenziali problemi durante la rimozione di questo modulo Regole di autorizzazione che non vengono più valutate per il contenuto protetto. Il contenuto che doveva essere protetto potrebbe essere servito.
Nome modulo: IsapiModule
Descrizione: Implementa la funzionalità dell'estensione ISAPI.
Sezioni di configurazione: system.webServer/isapiCgiRestriction
Dipendenze: Nessuno.
Potenziali problemi durante la rimozione di questo modulo Le estensioni ISAPI mappate nella <handlers> sezione (modules="IsapiModule") o in modo esplicito chiamate estensioni ISAPI non funzioneranno più.
Nome modulo: IsapiFilterModule
Descrizione: Implementa la funzionalità di filtro ISAPI.
Sezioni di configurazione: system.webServer/isapiFilters
Dipendenze: Nessuno.
Potenziali problemi durante la rimozione di questo modulo I filtri ISAPI spesso implementano applicazioni di funzionalità basate su . Esempi sono ASP.NET o SharePoint. ASP.NET, ad esempio, richiede il aspnet_filter.dll per proteggere il contenuto sensibile e riscrivere gli URL. La rimozione di questo modulo impedisce a IIS di caricare filtri ISAPI. Le applicazioni potrebbero smettere di funzionare o potrebbero essere esposte contenuti sensibili.
Nome modulo: IpRestrictionModule
Descrizione: Implementa uno schema di autorizzazione basato sull'indirizzo IPv4 della richiesta client.
Sezioni di configurazione: system.webServer/security/ipSecurity
Dipendenze: È necessario installare lo stack IPv4.
Potenziali problemi durante la rimozione di questo modulo I client con indirizzi IP nell'elenco ipSecurity saranno consentiti.
Nome modulo: RequestFilteringModule
Descrizione: Implementa un set avanzato di regole di sicurezza che rifiutano una richiesta sospetta in una fase molto precoce. Questo modulo è il successore del filtro ISAPI UrlScan.DLL fornito per IIS 5.0 e 6.0.
Sezioni di configurazione: system.webServer/security/requestFiltering
Dipendenze: Nessuno.
Potenziali problemi durante la rimozione di questo modulo Se questo modulo viene rimosso, le regole specificate nella sezione requestFiltering non si applicano più. Possono verificarsi potenziali problemi di sicurezza.
Nome modulo: CustomLoggingModule
Descrizione: Implementa l'interfaccia ILogPlugin sopra IIS. ILogPlugin è un'implementazione COM precedente che consente ai clienti di estendere la registrazione IIS. Non è consigliabile estendere IIS usando questa interfaccia. I clienti devono invece scrivere un modulo e sottoscrivere la notifica di RQ_LOG_REQUEST.
Sezioni di configurazione: system.webServer/httpLogging e system.applicationhost/sites/site/logFile/customLogPluginClsid
Dipendenze: Nessuno.
Potenziali problemi durante la rimozione di questo modulo Non verrà più chiamato un plug-in di log personalizzato. Ad esempio, la registrazione ODBC viene implementata come ILogPlugin.
Nome modulo: CustomErrorModule
Descrizione: Implementa errori personalizzati e la funzionalità di errore dettagliata di IIS.
Sezioni di configurazione: system.webServer/httpErrors
Dipendenze: Nessuno.
Potenziali problemi durante la rimozione di questo modulo IIS restituisce pagine vuote con informazioni minime quando si verificano errori all'interno del server principale. Gli utenti remoti possono visualizzare informazioni dettagliate sugli errori provenienti dai componenti del server che possono causare la divulgazione di informazioni.
Nome modulo: HttpLoggingModule
Descrizione: Implementa la registrazione IIS standard indicando HTTP.SYS cosa registrare.
Sezioni di configurazione: system.applicationHost/log e system.webServer/httpLogging
Dipendenze: Nessuno.
Potenziali problemi durante la rimozione di questo modulo La registrazione IIS standard non funzionerà più.
Nome modulo: FailedRequestsTracingModule
Descrizione: Implementa la traccia delle richieste non riuscite. Definire e impostare regole per le richieste non riuscite tramite la configurazione.
Sezioni di configurazione: system.webServer/tracing e system.webServer/httpTracing
Dipendenze: Nessuno.
Potenziali problemi durante la rimozione di questo modulo La traccia delle richieste HTTP non funzionerà più.
Nome modulo: RequestMonitorModule
Descrizione: Implementa lo stato di esecuzione e l'interfaccia di controllo (RSCA) di IIS. RSCA consente agli utenti di eseguire query per informazioni in fase di esecuzione, ad esempio l'esecuzione di una richiesta, lo stato di avvio/arresto di un sito Web o l'esecuzione di domini applicazione attualmente in esecuzione.
Sezioni di configurazione: Nessuno.
Dipendenze: Nessuno.
Potenziali problemi durante la rimozione di questo modulo Gli strumenti non potranno enumerare le richieste attualmente in esecuzione.
Nome modulo: CgiModule
Descrizione: Implementa CGI sopra IIS.
Sezioni di configurazione: system.webServer/cgi e system.webServer/isapiCgiRestriction
Dipendenze: Nessuno.
Potenziali problemi durante la rimozione di questo modulo I programmi CGI smetteranno di funzionare.
Nome modulo: TracingModule
Descrizione: Implementa la traccia ETW.
Sezioni di configurazione: system.webServer/httpTracing
Dipendenze: Nessuno.
Potenziali problemi durante la rimozione di questo modulo La traccia ETW non funzionerà se questo modulo viene rimosso.
Nome modulo: ConfigurationValidationModule
Descrizione: Verifica che ASP.NET configurazione dell'applicazione sia stata migrata per funzionare in modalità integrata.
Sezioni di configurazione: system.webServer/Validation
Dipendenze: Nessuno.
Potenziali problemi durante la rimozione di questo modulo Le applicazioni che specificano la configurazione legacy ASP.NET per i moduli e i gestori non genereranno errori di migrazione; Una nuova applicazione di cui non è stata eseguita la migrazione funzionerà in modo non corretto.

Moduli gestiti:

Nome modulo: Outputcache
Descrizione: Implementa la funzionalità di memorizzazione nella cache dell'output ASP.NET.
Sezioni di configurazione: system.web/caching/outputCache
Dipendenze: È necessario installare il modulo ManagedEngine.
Potenziali problemi durante la rimozione di questo modulo ASP.NET non sarà possibile restituire le risposte della cache alle pagine configurate per l'output memorizzate nella cache.
Nome modulo: Sessione
Descrizione: Per informazioni dettagliate, vedere la documentazione di ASP.NET 2.0
Sezioni di configurazione: system.web/sessionState
Dipendenze: Il modulo ManagedEngine deve essere installato
Potenziali problemi durante la rimozione di questo modulo Lo stato della sessione gestita non è disponibile.
Nome modulo: Windowsauthentication
Descrizione: Per informazioni dettagliate, vedere ASP.NET documentazione 2.0.
Sezioni di configurazione: system.web/authentication
Dipendenze: Il modulo ManagedEngine deve essere installato
Potenziali problemi durante la rimozione di questo modulo Non verrà generato l'evento WindowsAuthentication.OnAuthenticate, che potrebbe impedire l'esecuzione di codice di autenticazione ASP.NET personalizzato. Inoltre, l'utente autenticato non verrà sostituito con l'utente UNC quando si trova nella condivisione UNC (comportamento legacy ASP.NET). Questo modulo non influisce sull'autenticazione NTLM/Kerberos per le applicazioni ASP.NET in modalità integrata e non è obbligatorio all'esterno dell'evento WindowsAuthentication.OnAuthenticate e del comportamento UNC legacy.
Nome modulo: Formsauthentication
Descrizione: Per informazioni dettagliate, vedere ASP.NET documentazione 2.0.
Sezioni di configurazione: system.web/authentication
Dipendenze: Il modulo ManagedEngine deve essere installato
Potenziali problemi durante la rimozione di questo modulo ASP.NET funzionalità di autenticazione basata su moduli non sarà disponibile, con conseguente mancato accesso alle risorse protette da parte dei client con ticket di autenticazione basata su form.
Nome modulo: DefaultAuthentication
Descrizione: Per informazioni dettagliate, vedere ASP.NET documentazione 2.0.
Sezioni di configurazione: system.web/authentication
Dipendenze: Il modulo ManagedEngine deve essere installato
Potenziali problemi durante la rimozione di questo modulo Alcune funzionalità di ASP.NET potrebbero non funzionare per le richieste anonime se ASP.NET modalità di autenticazione è Forms. Inoltre, l'evento DefaultAuthentication.OnAuthenticate non verrà generato.
Nome modulo: Rolemanager
Descrizione: Per informazioni dettagliate, vedere ASP.NET documentazione 2.0.
Sezioni di configurazione: Nessuno.
Dipendenze: È necessario installare il modulo ManagedEngine.
Potenziali problemi durante la rimozione di questo modulo Funzionalità di Gestione ruoli non disponibile.
Nome modulo: UrlAuthorization
Descrizione: Per informazioni dettagliate, vedere ASP.NET documentazione 2.0. Il modulo urlAuthorization nativo implementa la funzionalità di autorizzazione URL nel codice nativo. In questo modo è disponibile un'alternativa nativa scalabile e veloce per il modulo di autorizzazione dell'URL gestito.
Sezioni di configurazione: system.web/authorization.
Dipendenze: È necessario installare il modulo ManagedEngine.
Potenziali problemi durante la rimozione di questo modulo ASP.NET regole di autorizzazione verranno ignorate, con conseguente divulgazione di informazioni e altre compromissioni della sicurezza.
Nome modulo: Anonymousidentification
Descrizione: Per informazioni dettagliate, vedere ASP.NET documentazione 2.0.
Sezioni di configurazione:
Dipendenze: È necessario installare il modulo ManagedEngine.
Potenziali problemi durante la rimozione di questo modulo La funzionalità di identificazione anonima usata dal profilo di ASP.NET non funzionerà.
Nome modulo: Profilo
Descrizione: Per informazioni dettagliate, vedere ASP.NET documentazione 2.0.
Sezioni di configurazione:
Dipendenze: È necessario installare il modulo ManagedEngine.
Potenziali problemi durante la rimozione di questo modulo La funzionalità profilo ASP.NET non funzionerà.
Nome modulo: UrlMappingsModule
Descrizione: Per informazioni dettagliate, vedere ASP.NET documentazione 2.0.
Sezioni di configurazione:
Dipendenze: È necessario installare il modulo ManagedEngine.
Potenziali problemi durante la rimozione di questo modulo I mapping url ASP.NET non funzioneranno.