Skip to Content
Nouvelle version 12 disponible 🎉
LicensingBabel Licensing ServiceConfigurationConfiguration WebDAV d’IIS

Configuration WebDAV d’IIS

Lorsque vous hébergez le Babel Licensing Service sur Internet Information Services (IIS), les appels d’API peuvent échouer si WebDAV est activé sur votre serveur. Ce document explique l’origine de ces conflits et décrit les étapes de configuration qui permettent de les résoudre.

Comprendre le conflit avec WebDAV

WebDAV (Web Distributed Authoring and Versioning) est une extension de HTTP qui permet la modification collaborative et la gestion de fichiers sur les serveurs web. Lorsqu’il est activé dans IIS, WebDAV intercepte certaines méthodes HTTP, notamment :

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

Le Babel Licensing Service utilise une API RESTful qui repose sur différentes méthodes HTTP, en particulier PUT et DELETE. Lorsque WebDAV est activé, il traite ces requêtes avant qu’elles n’atteignent l’application Babel Licensing Service, ce qui fait échouer les appels d’API.

Symptômes d’une interférence de WebDAV

Vous rencontrez peut-être des conflits avec WebDAV si :

  • les appels d’API Ă©chouent avec des erreurs 405 (Method Not Allowed)
  • les opĂ©rations PUT et DELETE envoyĂ©es Ă  l’API renvoient des rĂ©ponses inattendues
  • vous ne parvenez pas Ă  enregistrer ni Ă  mettre Ă  jour des donnĂ©es par l’intermĂ©diaire du Babel Licensing Service
  • les autres opĂ©rations de l’API fonctionnent correctement, mais certaines opĂ©rations de mise Ă  jour et de suppression Ă©chouent

Résoudre les conflits avec WebDAV

Pour que le Babel Licensing Service fonctionne correctement dans IIS, vous devez désactiver WebDAV pour l’application. Ajoutez la configuration suivante à votre fichier web.config, ou modifiez celui-ci en conséquence :

<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>

Éléments clés de la configuration

  1. Retrait du module WebDAV :

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

    WebDAV ne peut ainsi plus intercepter les requĂŞtes HTTP au niveau du module.

  2. Retrait du gestionnaire WebDAV :

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

    Le gestionnaire ASP.NET Core reçoit ainsi toutes les requêtes HTTP, quel que soit le verbe HTTP utilisé.

Emplacement du fichier web.config

Veillez à placer ce fichier web.config dans le répertoire racine de votre application Babel Licensing Service.

Configuration propre au site ou configuration globale

La configuration ci-dessus désactive WebDAV uniquement pour l’application Babel Licensing Service. Si vous avez besoin de WebDAV pour d’autres applications du même serveur, cette approche vous permet de ne le désactiver que là où c’est nécessaire.

Si vous préférez désactiver WebDAV globalement sur votre serveur IIS, vous pouvez le faire dans IIS Manager :

Ouvrir IIS Manager

Ouvrez IIS Manager.

Sélectionner votre serveur

Sélectionnez votre serveur dans le panneau Connections.

Ouvrir WebDAV Authoring Rules

Double-cliquez sur « WebDAV Authoring Rules » (Règles de création WebDAV).

Désactiver WebDAV

Dans le panneau Actions, cliquez sur « Disable WebDAV » (Désactiver WebDAV).

Vérifier la configuration

Après avoir appliqué les modifications de configuration :

Redémarrer le pool d’applications

Redémarrez le pool d’applications du Babel Licensing Service.

Tester les appels d’API

Testez les appels d’API qui échouaient auparavant.

Vérifier les opérations sur les données

Vérifiez que l’enregistrement et la mise à jour des données fonctionnent correctement.

Dépannage

Si les problèmes persistent après ces modifications :

  1. Vérifiez que le pool d’applications a redémarré
  2. Recherchez d’éventuels messages d’erreur dans les journaux IIS
  3. Vérifiez que la syntaxe du fichier web.config est correcte
  4. Confirmez que le module WebDAV est bien installé sur votre serveur (la directive de retrait reste sans danger même s’il ne l’est pas)
  5. Recherchez dans les journaux de l’application d’éventuelles erreurs liées à l’API

Pour obtenir de l’aide, contactez l’assistance du Babel Licensing Service en indiquant la version de votre serveur IIS et les détails de sa configuration.

Last updated on