Skip to Content
Neue Version 12 verfügbar 🎉

IIS-WebDAV-Konfiguration

Wenn Sie den Babel Licensing Service auf den Internet Information Services (IIS) hosten, können Probleme mit API-Callbacks auftreten, falls auf Ihrem Server WebDAV eingeschaltet ist. Dieses Dokument erklärt, warum diese Konflikte entstehen, und beschreibt die Konfigurationsschritte, mit denen Sie sie beheben.

Den WebDAV-Konflikt verstehen

WebDAV (Web Distributed Authoring and Versioning) ist eine Erweiterung von HTTP, die die gemeinsame Bearbeitung und die Dateiverwaltung auf Webservern ermöglicht. Ist WebDAV in IIS eingeschaltet, fängt es bestimmte HTTP-Methoden ab, darunter:

  • PUT
  • DELETE
  • PROPFIND
  • PROPPATCH
  • MKCOL
  • COPY
  • MOVE
  • LOCK
  • UNLOCK

Der Babel Licensing Service verwendet eine RESTful-API, die auf verschiedene HTTP-Methoden angewiesen ist, vor allem auf PUT und DELETE. Ist WebDAV eingeschaltet, verarbeitet es diese Anfragen, bevor sie die Anwendung Babel Licensing Service erreichen, und die API-Callbacks schlagen fehl.

Symptome einer Störung durch WebDAV

Möglicherweise liegt ein WebDAV-Konflikt vor, wenn:

  • API-Callbacks mit dem Fehler 405 (Method Not Allowed) fehlschlagen
  • PUT- und DELETE-Operationen an die API unerwartete Antworten liefern
  • Sie über den Babel Licensing Service keine Daten speichern oder aktualisieren können
  • andere API-Operationen korrekt funktionieren, bestimmte Aktualisierungs- und Löschoperationen aber fehlschlagen

WebDAV-Konflikte beheben

Damit der Babel Licensing Service in IIS korrekt arbeitet, müssen Sie WebDAV für die Anwendung ausschalten. Ergänzen oder ändern Sie Ihre Datei web.config mit der folgenden Konfiguration:

<configuration> <location path="." inheritInChildApplications="false"> <system.webServer> <modules> <remove name="WebDAVModule" /> </modules> <handlers> <remove name="WebDAV" /> <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" /> </handlers> <aspNetCore processPath="dotnet" arguments=".\Babel.Licensing.Service.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" /> </system.webServer> </location> </configuration>

Wichtige Konfigurationselemente

  1. Das WebDAV-Modul entfernen:

    <modules> <remove name="WebDAVModule" /> </modules>

    Dadurch fängt WebDAV keine HTTP-Anfragen mehr auf Modulebene ab.

  2. Den WebDAV-Handler entfernen:

    <handlers> <remove name="WebDAV" /> <!-- other handlers here --> </handlers>

    Dadurch erhält der ASP.NET-Core-Handler alle HTTP-Anfragen, unabhängig vom verwendeten HTTP-Verb.

Speicherort der Web.config

Legen Sie diese Datei web.config im Stammverzeichnis Ihrer Anwendung Babel Licensing Service ab.

Websitespezifische und globale Konfiguration

Die obige Konfiguration schaltet WebDAV nur für die Anwendung Babel Licensing Service aus. Wenn Sie WebDAV für andere Anwendungen auf demselben Server benötigen, können Sie es auf diese Weise gezielt nur dort ausschalten, wo es nötig ist.

Wenn Sie WebDAV lieber global auf Ihrem IIS-Server ausschalten möchten, können Sie das über den IIS Manager tun:

IIS Manager öffnen

Öffnen Sie den IIS Manager.

Server auswählen

Wählen Sie im Bereich „Connections“ (Verbindungen) Ihren Server aus.

WebDAV Authoring Rules öffnen

Doppelklicken Sie auf „WebDAV Authoring Rules“ (WebDAV-Erstellungsregeln).

WebDAV ausschalten

Klicken Sie im Bereich „Actions“ (Aktionen) auf „Disable WebDAV“ (WebDAV deaktivieren).

Konfiguration prüfen

Nachdem Sie die Konfigurationsänderungen angewendet haben:

Anwendungspool neu starten

Starten Sie den Anwendungspool des Babel Licensing Service neu.

API-Callbacks testen

Testen Sie die API-Callbacks, die zuvor fehlgeschlagen sind.

Datenoperationen prüfen

Prüfen Sie, ob das Speichern und Aktualisieren von Daten korrekt funktioniert.

Fehlerbehebung

Wenn die Probleme nach diesen Änderungen weiter bestehen:

  1. Stellen Sie sicher, dass der Anwendungspool neu gestartet wurde
  2. Suchen Sie in den IIS-Protokollen nach Fehlermeldungen
  3. Prüfen Sie, ob die Syntax der web.config korrekt ist
  4. Vergewissern Sie sich, dass das WebDAV-Modul auf Ihrem Server tatsächlich installiert ist (die Anweisung zum Entfernen ist auch dann unbedenklich, wenn es nicht installiert ist)
  5. Untersuchen Sie die Anwendungsprotokolle auf API-bezogene Fehler

Für weitere Unterstützung wenden Sie sich mit der Version und den Konfigurationsdetails Ihres IIS-Servers an den Support des Babel Licensing Service.

Last updated on