[SCCM] Corriger les erreurs IIS 500.19

Bonjour à tous,

Lors d’une intervention pour débugger le composant Software Update Point chez un client, je me suis retrouvé confronté à un dysfonctionnement général de IIS. Par conséquent, plus de point de distribution, de point de gestion, etc…

Le dysfonctionnement n’est pas apparu immédiatement, mais seulement après avoir désinstallé le composant SCCM « Software Update Point » et le rôle Windows WSUS. A partir de ce moment on rencontrait systématiquement les erreurs suivantes et ce pour tous les sites Web hébergés par le serveur SCCM :

  • Logs IIS : erreurs 500
  • Mpcontrol.log : « Call to HttpSendRequestSync failed for port 80 with status code 500, text: Internal Server Error »
  • Navigateur Web : erreur 500.19 + Error Code 0x8007007e

Après quelques heures de recherche j’ai finalement trouvé la source du problème dans un article de l’équipe du support IIS : http://blogs.iis.net/webtopics/troubleshooting-http-500-19-errors-in-iis-7
Cet article présente les différents scénarii qui peuvent engendrer une erreur 500.19 pour tous les sites Web hébergés par un serveur IIS. Dans ma situation c’est le scénario 6, identifié par le code d’erreur 0x8007007e (affichée lorsque j’essaie d’ouvrir la page dans IIS) qui m’a permis de comprendre le problème. La désinstallation du rôle WSUS n’a pas retiré toute la configuration du site Web WSUS et en particulier une dépendance déclarée au niveau global, en d’autres termes pour tous les sites et applications Web hébergés par mon serveur.

This problem occurs because the ApplicationHost.config file or the Web.config file references a module that is invalid or that does not exist. To resolve this problem: In the ApplicationHost.config file or in the Web.config file, locate the module reference or the DLL reference that is invalid, and then fix the reference. To determine which module reference is incorrect, enable Failed Request Tracing, and then reproduce the problem.
For above specific error (mentioned in this example), DynamicCompressionModule module is causing the trouble. This is because of the XPress compression scheme module (suscomp.dll) which gets installed with WSUS. Since Compression schemes are defined globally and try to load in every application Pool, it will result in this error when 64bit version of suscomp.dll attempts to load in an application pool which is running in 32bit mode.

la résolution du problème est du coup devenue très simple, à savoir taper la commande suivante :
%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/httpCompression /-[name='xpress']

cmd

Après un redémarrage du service IIS, tout est rentré dans l’ordre.

Enjoy 😉

Laisser un commentaire