ASP.Net Core-Applikationen erzeugen im IIS http-Fehler 405
Problem:
Beim Deployment einer mit ASP.Net Core 2.0 entwickelten Anwendung auf einen Liveserver schien zuerst alles gut zu funktionieren. Schnell stellte sich heraus, dass einige Funktionen einen http-Fehler 405 erzeugten. Das http-Verb war also nicht erlaubt. Tatsächlich nutzt die Applikation nicht nur die Verben GET und POST, sondern auch die Verben PUT und DELETE.
Im Internet Information Server war aber weder im serverweiten noch im applikationsbezogenen Anforderungsfilter entsprechende Einträge konfiguriert.
Es stellte sich heraus, dass das WebDAV-Modul dafür verantwortlich zeichnet. Die üblichen Empfehlungen, das WebDAV-Modul zu deinstallieren oder zu deaktivieren, kamen für mich nicht in Frage, zumal eine einfache WebDAV-Deaktivierung die Verbenfilterung offensichtlich nicht abschaltet.
Die Lösung:
Zumindest im IIS >= 8 lässt sich dieser Filter einzeln deaktivieren, ohne das ganze WebDAV-Modul deinstallieren zu müssen.
Im Modul WebDAV-Erstellungsregeln im Menü auf der rechten Seite unter Aktionen die WebDAV-Eigenschaften aufrufen und dort den Eintrag Verbenfilterung zulassen auf false setzen.
Da alle Applikationen, unabhängig davon ob ASP.NET oder ASP.NET Core eingesetzt wird, prinzipiell auch andere Verben als GET und PUT nutzen können, wird das Problem also auch in anderen IIS-Deployment-Szenarien auftreten.
Beim Deployment einer mit ASP.Net Core 2.0 entwickelten Anwendung auf einen Liveserver schien zuerst alles gut zu funktionieren. Schnell stellte sich heraus, dass einige Funktionen einen http-Fehler 405 erzeugten. Das http-Verb war also nicht erlaubt. Tatsächlich nutzt die Applikation nicht nur die Verben GET und POST, sondern auch die Verben PUT und DELETE.
Im Internet Information Server war aber weder im serverweiten noch im applikationsbezogenen Anforderungsfilter entsprechende Einträge konfiguriert.
Es stellte sich heraus, dass das WebDAV-Modul dafür verantwortlich zeichnet. Die üblichen Empfehlungen, das WebDAV-Modul zu deinstallieren oder zu deaktivieren, kamen für mich nicht in Frage, zumal eine einfache WebDAV-Deaktivierung die Verbenfilterung offensichtlich nicht abschaltet.
Die Lösung:
Zumindest im IIS >= 8 lässt sich dieser Filter einzeln deaktivieren, ohne das ganze WebDAV-Modul deinstallieren zu müssen.
Im Modul WebDAV-Erstellungsregeln im Menü auf der rechten Seite unter Aktionen die WebDAV-Eigenschaften aufrufen und dort den Eintrag Verbenfilterung zulassen auf false setzen.
Da alle Applikationen, unabhängig davon ob ASP.NET oder ASP.NET Core eingesetzt wird, prinzipiell auch andere Verben als GET und PUT nutzen können, wird das Problem also auch in anderen IIS-Deployment-Szenarien auftreten.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 353486
Url: https://administrator.de/contentid/353486
Ausgedruckt am: 21.11.2024 um 15:11 Uhr