I siti in ASP collegati ad un db Access visualizzano “HTTP Error 500.19 - Internal Server Error” in IIS 7.5

compression1

Con la diffusione sempre più radicale dei sistemi a 64-bit, alcune applicazioni web scritte utilizzando parti a 32-bit possono soffrire il passaggio alla nuova piattaforma.

Uno degli esempi più comuni è la situazione in cui una pagina web in ASP si appoggia ad un database Access per la visualizzazione di determinate informazioni.

L’errore si manifesta con un messaggio di errore nell’area in cui dovrebbero comparire i dati.

compression2

Questa situazione si verifica se sullo stesso server viene installato WSUS versione 64-bit che durante il suo setup sovrascrive il file suscomp.dll.

Per risolvere il problema sono necessarie due operazioni:

  1. Abilitare l’opzione Enable 32-Bit Applications per il sito che presenta il problema.
  2. Disabilitare il modulo di compressione di IIS.

 

Procedura

Lanciare l’IIS Manager da Start –> Administrative Tools –> Internet Information Services (IIS) Manager e selezionare la voce Application Pools nella parte sinistra dello schermo.

compression3

Nella parte destra selezionare il sito che manifesta il problema e cliccare (pannello Actions)sulla voce Advanced Settings.

compression4

Identificare il menu General (è il primo della lista) ed impostare il parametro Enable 32-Bit Applications a True.

compression5

Se WSUS 64-bit non è installato nel sistema, l’abilitare questa opzione permette di ripristinare la funzionalità del sito, altrimenti è necessaria un’azione aggiuntiva.

Lanciando il sito viene visualizzato un messaggio di errore HTTP Error 500.16. Analizzando i dettagli dell’errore, il sistema riporta un Error Code 0x8007007e nella voce Module DynamicCompressionMod.

compression6

Per risolvere questa situazione bisogna disattivare il modulo di compressione in IIS. Ricordo che questo si verifica nel caso sia stato installato WSUS 64-bit sullo stesso server.

Per rimuovere il modulo di compressione bisogna eseguire il comando:

%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/httpCompression /-[name='xpress']

Lanciare l’istruzione come Administrator (Run as administrator) dalla command line o creare un file per eseguirlo successivamente.

compression7

Lanciato il comando, il sistema visualizza il risultato dell’operazione.

compression8

A questo punto se il sito viene aperto, le informazioni prelevate dal database tramite ASP sono visualizzate correttamente. Queste modifiche non impattano sulla funzionalità globale del sistema e di WSUS stesso.

compression9

Se si avesse la necessità di riabilitare il modulo di compressione, lanciare il comando:

%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/httpCompression /+[name='xpress',doStaticCompression='false',dll='%windir%\system32\inetsrv\suscomp.dll']

Il sito adesso viene visualizzato correttamente con gli utenti soddisfatti da un lato e il ritorno della tranquillità nel reparto IT dall’altro.

HTTP Error 500.19 in IIS 7.5 1