Okt 052010
 
  • Betrifft: IIS 7.0 und IIS 7.5
  • System: Microsoft Windows Server 2008 x64, Windows Server 2008 R2 x64
  • Problem: beim Zugriff auf ASP.NET 32-Bit Anwendungen unter IIS 7.x auf einem 64-Bit Windows Server erhĂ€lt man eine Internal Server Error. Die Windows Server Update Services 3.0 sind am gleichen Server installiert.

Hintergrund

Ab IIS 7.0 ist es unter Windows Server möglich nicht mehr den gesamte Webserver im 32-Bit Modus zu setzen, sondern nur die vereinzelten ASP.NET Anwendungen. Dies geht jeweils pro Anwendungspool.

Immer wieder ist dies notwendig, da manche Webanwendungen nur im 32-Bit Modus verfĂŒgbar sind. Also nichts leichter als den Anwendungspool unter erweiterte Einstellungen zu Ă€ndern.

iis7_anwendungspool_32bit

Nachdem umstellen erhĂ€lt man beim Aufruf der Webseite eine Fehlermeldung. In meinem Fall mit den „Informationsdiensten 7.5“ unter Windows Server 2008 R2:

iis7_http_error_500-19

HTTP-Fehler 500.19 – Internal Server Error

Auf die angeforderte Seite kann nicht zugegriffen werden, da die zugehörigen Konfigurationsdaten fĂŒr die Seite ungĂŒltig sind.

AusfĂŒhrliche Fehlerinformationen

Modul: DynamicCompressionModule
Benachrichtigung: SendResponse
Handler: StaticFile
Fehlercode 0x8007007e
Angeforderte URL: http://*/*
Physikalischer Pfad: C:\*
Anmeldemethode: Noch unbestimmt
Angemeldeter Benutzer: Noch unbestimmt

Wahrscheinlichste Ursachen:

  • Der Arbeitsprozess kann die Datei „applicationhost.config“ oder „web.config“ nicht lesen.
  • Die Datei „applicationhost.config“ oder „web.config“ enthĂ€lt falsch formatierten XML-Code.
  • Der Server kann aufgrund falscher NTFS-Berechtigungen nicht auf die Datei „applicationhost.config“ oder „web.config“ zugreifen.

Mögliche Vorgehensweise:

  • In den Ereignisprotokollen finden Sie weitere Informationen darĂŒber, warum die Konfigurationsdateien nicht gelesen werden können.
  • Stellen Sie sicher, dass die fĂŒr den Anwendungspool angegebene BenutzeridentitĂ€t oder der authentifizierte Benutzer ĂŒber die erforderlichen Berechtigungen fĂŒr den Zugriff auf die Datei „web.config“ verfĂŒgt.

Links und weitere Informationen

Dieser Fehler tritt auf, wenn beim Lesen der Konfigurationsdatei fĂŒr den Webserver oder die Webanwendung ein Problem vorliegt. In bestimmten FĂ€llen finden Sie weitere Informationen ĂŒber die Ursache dieses Fehlers in den Ereignisprotokollen.

Auf dem gleichen Webserver sind die Windows Server Update Services 3.0 (=WSUS) installiert. Das zugehörige Installationsprogramm installiert ein Komprimierungsmodul um die Verteilung der Updates Hotfixes, Feature Packs und Ă€hnliches mittels komprimierter Daten durchfĂŒhren zu können.

Beim Installationsvorgang wird auf einem 64-Bit System jedoch nur die 64-Bit Version des Komprimierungsmodules „suscomp.dll“ unter „C:\WINDOWS\system32\inetsrv“ installiert.

 

Zwischenschritt

In diesem konkreten Fall ist entgegen der Angabe in der Fehlermeldung keine Konfigurationsdatei ungĂŒltig und auch die Berechtigung wird höchstwahrscheinlich stimmen. Viel wahrscheinlicher ist das fehlen einer 32-Bit Variante des Komprimierungsmodules.

Der Fehlercode 0x8007007e bedeutet „ERROR_MOD_NOT_FOUND“ bzw. „The specified module could not be found“ – also das spezifizierte Modul kann nicht gefunden werden.

Dieses Modul ist in der Datei „suscomp.dll“ und wird als „Xpress Compression“ bezeichnet. Dieses mĂŒsste unter „C:\WINDOWS\SysWOW64\inetsrv“ liegen. Dort ist aber die „suscomp.dll“ Datei nicht zu finden. Die 64-Bit Variante kann nicht verwendet werden. Beim WSUS 3.0 x64 Setup wird keine 32-Bit Variante mitgeliefert.

 

Behebung

Mir sind drei Möglichkeiten bekannt. Die ersten zwei Lösungen habe ich selber getestet – hierbei ist meine Empfehlung die 2. Variante.

 

1.) Komprimierung deaktivieren

Die Konfiguration der Komprimierung ist leider global und betrifft immer den gesamten Webserver. Ein deaktivieren beeintrÀchtigt somit auch den WSUS. Dieser kann dann keine komprimierten Dateien mehr ausliefern, was das Datenvolumen erhöht (womöglich aber die Prozessorlast verringert).

Nachfolgende Befehle einfach ĂŒber die Command Shell (=> „cmd“) ausfĂŒhren.

Deaktivieren:

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

 

Aktivieren:

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

 

2.) 32-Bit Version des Komprimierungsmoduls besorgen

Einfach die „suscomp.dll“ Datei von einem 32-Bit Windows Server mit installiertem WSUS kopieren und in „C:\WINDOWS\SysWOW64\inetsrv“ einfĂŒgen. Beim nĂ€chsten Aufruf wird die Webseite normal funktionieren. DarĂŒber hinaus bleibt die Komprimierungsfunktion erhalten und es können keine Nebenerscheinungen auftreten.

Bei Bedarf kann ich gerne die 32-Bit Variante per Email zusenden. Einfach ĂŒber Kontakt mit mir in Verbindung treten. Ich konnte bis dato nicht abklĂ€ren, ob ein direkter Download dieser geschĂŒtzten Datei erlaubt ist.

Update 06.12.2013:

=> Dies ist eigentlich die meist genutzte Variante. Je nach Monat treffen zwischen 4 und 8 Anfragen betreffend dieser Datei bei mir ein. Laut meinen Informationen dĂŒrfte es bei allen funktioniert haben. Leider erhalte ich nicht immer eine RĂŒckmeldung als Kommentar oder per Email. Jedenfalls zeigt dies 3 Jahre nach Erstellung dieses Artikel, dass das Thema nach wie vor aktuell ist!

 

3.) 64-Bit Modul nur bei 64-Bit Anwendungspools laden

Eine dritte Variante ist mir zwar bekannt, konnte diese aber nicht nachvollziehen. Hierbei wird das 64-Bit Modul per „precondition=64bitness“ nur bei 64-Bit Anwendungspools gesucht und geladen. Wenn jemand eine Anleitung oder ansonsten nĂ€here Informationen kennt, so bitte ich um Info per Kommentar oder Kontakt.

weitere relevante BeitrÀge...

  31 Antworten zu “HTTP-Fehler 500.19, zugehörige Konfigurationsdaten sind ungültig”

Kommentare (30) Pingbacks (1)
  1. Danke fĂŒr diesen Beitrag. Die Informationen haben uns enorm viel weiterhelfen können. Das Problem konnte somit behoben werden.

  2. Ich bedanke mich fĂŒr diesen Artikel, ich bin auf exakt dasselbe Problem gestossen und konnte es mit Methode 2 lösen. Top :-)

  3. Danke fĂŒr das schnelle Zusenden der DLL, das Problem konnte damit natĂŒrlich umgehend behoben werden.

  4. Hallo,
    und vielen Dank fĂŒr das schnelle Zusenden der DLL.
    Einen guten Blog hast du hier.

  5. Vielen Dank fĂŒr die ĂŒbersichtliche und aufschlussreiche Seite zu diesem Thema und die schnelle Übersendung der dll. Da könnte sich der Verursacher des Problems mal eine Scheibe abschneiden. Aber zum GlĂŒck gibt es ja engagierte User!!!

    Viele GrĂŒĂŸe!

    • Danke fĂŒr das Lob. Es freut mich helfen zu können. Die Verantwortlichen hĂ€tten nur im Paket die 32-bit Datei mitliefern mĂŒssen…

  6. Besten Dank fĂŒr die DLL. Die Lösung auf dieser Seite war – nach vielem Suchen – endlich die richtige.

  7. Nachdem bei mir Variante 1 nicht funktioniert hat habe ich Variante 2 probiert und siehe da mein Problem ist endlich behoben. Super.

    Vielen Dank fĂŒr das schnelle zusenden der DLL Datei. Wirklich ein super Service. Danke

  8. Vielen Dank fĂŒr die schnelle Zusendung der DLL. Hat super geklappt. Das nenne ich Service und mal ein schnelle und unbĂŒrokratische Problemlösung.

  9. Vielen Dank fĂŒr die schnelle Zusendung der DLL. Hat mir wirklich sehr geholfen.

    PS: es gibt noch eine vierte Möglichkeit: man kann das DynamicComprssionModul in der entsprechenden 32-Bit-Applikation ausschalten.
    (Hat natĂŒrlich auch Nachteile) außerdem muss dazu ggfs. das „lock“ in der applicationHost.config auf das Modul entfernt werden (global – und auch das hat nat. Nachteile).

    • Hallo,

      Deine genannte vierte Möglichkeit ist von der ErklĂ€rung her wie Variante eins. Dort beschreibe ich, wie man die Komprimierung deaktiviert. Einziger Unterschied: es wird fĂŒr alle Applikationen deaktiviert – nicht nur fĂŒr 32bit. Soweit ich bisher wusste, kann man das Modul nur global deaktivieren – leider nicht fĂŒr 32- oder 64-bit gesondert.

      Ist es möglich weitere Informationen zu erhalten?

  10. Hallo, kann ich die 32bit version der Datei bitte auch haben, meine Homepage http://www.herbrich.org und der ganze Webserver zeigen nur diese hÀssliche Fehlermeldung an, und das geht es nicht mehr so weiter.

    Eine Neuinstallation des Servers kommt nicht mehr in Frage.

    LG, Herbrich

    PS: Echt toller Beitrag, du leistet fĂŒr uns alle mit deienen blog echt sehr gute Arbeit.

    • Danke fĂŒr das Lob. War die letzten Tage unterwegs. Daher erst jetzt meine Antwort. Habe den Anhang zugesendet.

  11. wĂ€re sehr hilfreich wenn ich die datei zugeschickt bekommen wĂŒrde. Vielen dank im voraus

  12. Danke fĂŒr das Howto, und die zugeschickte dll. Works like a charm!

  13. Vielen Dank fĂŒr die rasche Zusendung.

    Hat einwandfrei geklappt.

    Gruß

  14. WOW, Fehler kommt nicht mehr.

    Vielen Dank fĂŒr die schnelle Antwort und die Zusendung der DLL.

    Hat alles super geklappt. Danke viel Mals.

  15. Super ErklĂ€rung und Lösung fĂŒr dieses Problem, danke auch fĂŒr die DLL.

    Gruß

  16. Hallo Blackseals,

    vielen Dank fĂŒr die Zusendung der Datei.

    Ich hatte zunĂ€chst versucht mit %windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/httpCompression /-[name=’xpress‘]
    die Kompression abzuschalten. Habe dabei eine Fehlermeldung erhalten.

    Dann habe ich die von euch erhaltene Datei eingespielt, reboot IIS, leider ohne Erfolg.

    Dann habe ich die %windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/httpCompression /-[name=’xpress‘]
    nochmal ausgefĂŒhrt und tada jetzt geht es wieder.

    Vielen Dank nochmal, ĂŒbrigens bei mir lĂ€uft der IIS 8.0

    Gruß Helmut

    • Ja, IIS 8.0 ist Windows Server 2012 und da gilt die Lösung mit der dll nicht mehr, da Microsoft den WSUS in 2012 aktualisiert hat. Ab Windows 2012 gibt es nur mehr 64bit Server. Damit keine 32bit Version verfĂŒgbar.

      Freut mich das es schlussendlich doch noch geklappt hat.

  17. Vielen Dank fĂŒr die dll!

    Super Anleitung!

    Gruß Ralph

  18. Auch von mir ein herzliches Dank! Hat bei der Fehlersuche echt einige Stunden Zeit erspart!

  19. Hallo,

    brÀuchte auch bitte die DLL aus Lösung 2. Danke schon mal!

    Benjamin

    • Viele Dank fĂŒr die Datei! Habe dann aber noch gelesen, dass das fĂŒr Windows Server 2012 und IIS 8 nicht mehr gilt.
      Es hat aber dann Lösung 1 funktioniert bzw. mir bei der Fehlersuche weitergeholfen.

 Antworten

Du kannst diese HTML Tags und Attribute benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(erforderlich)

(erforderlich)