Skip to Content
Nueva versión 12 disponible 🎉
LicensingBabel Licensing ServiceConfiguraciónConfiguración de WebDAV en IIS

Configuración de WebDAV en IIS

Al alojar el Babel Licensing Service en Internet Information Services (IIS), pueden surgir problemas con las llamadas a la API si WebDAV está habilitado en su servidor. Este documento explica por qué se producen estos conflictos y describe los pasos de configuración necesarios para resolverlos.

Comprender el conflicto con WebDAV

WebDAV (Web Distributed Authoring and Versioning) es una extensión de HTTP que permite la edición colaborativa y la gestión de archivos en servidores web. Cuando está habilitado en IIS, WebDAV intercepta determinados métodos HTTP, entre ellos:

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

El Babel Licensing Service usa una API RESTful que se basa en varios métodos HTTP, en particular PUT y DELETE. Cuando WebDAV está habilitado, procesa estas solicitudes antes de que lleguen a la aplicación Babel Licensing Service, y las llamadas a la API fallan.

Síntomas de la interferencia de WebDAV

Es posible que tenga conflictos con WebDAV si:

  • Las llamadas a la API fallan con errores 405 (Method Not Allowed)
  • Las operaciones PUT y DELETE sobre la API devuelven respuestas inesperadas
  • No puede guardar ni actualizar datos a través del Babel Licensing Service
  • Otras operaciones de la API funcionan correctamente, pero fallan determinadas operaciones de actualización y eliminación

Resolver los conflictos con WebDAV

Para que el Babel Licensing Service funcione correctamente en IIS, debe deshabilitar WebDAV para la aplicación. Añada o modifique su archivo web.config con la configuración siguiente:

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

Elementos clave de la configuración

  1. Quitar el módulo WebDAV:

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

    Esto impide que WebDAV intercepte las solicitudes HTTP en el nivel de módulo.

  2. Quitar el controlador WebDAV:

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

    Esto garantiza que el controlador de ASP.NET Core reciba todas las solicitudes HTTP, sea cual sea el verbo HTTP utilizado.

Ubicación del archivo Web.config

Asegúrese de que este archivo web.config se encuentre en el directorio raíz de su aplicación Babel Licensing Service.

Configuración específica del sitio o global

La configuración anterior deshabilita WebDAV solo para la aplicación Babel Licensing Service. Si necesita WebDAV para otras aplicaciones del mismo servidor, este enfoque permite deshabilitarlo de forma selectiva solo donde haga falta.

Si prefiere deshabilitar WebDAV globalmente en su servidor IIS, puede hacerlo desde IIS Manager (el administrador de IIS):

Abrir IIS Manager

Abra IIS Manager.

Seleccionar el servidor

Seleccione su servidor en el panel Connections (conexiones).

Abrir WebDAV Authoring Rules

Haga doble clic en «WebDAV Authoring Rules» (reglas de creación de WebDAV).

Deshabilitar WebDAV

En el panel Actions (acciones), haga clic en «Disable WebDAV» (deshabilitar WebDAV).

Verificar la configuración

Después de aplicar los cambios de configuración:

Reiniciar el grupo de aplicaciones

Reinicie el grupo de aplicaciones del Babel Licensing Service.

Probar las llamadas a la API

Pruebe las llamadas a la API que antes fallaban.

Verificar las operaciones con datos

Verifique que las funciones de guardado y actualización de datos funcionan correctamente.

Solución de problemas

Si los problemas persisten después de aplicar estos cambios:

  1. Asegúrese de que el grupo de aplicaciones se ha reiniciado
  2. Revise los registros de IIS en busca de mensajes de error
  3. Verifique que la sintaxis del archivo web.config es correcta
  4. Confirme que el módulo WebDAV está realmente instalado en su servidor (la directiva de eliminación es segura aunque no lo esté)
  5. Examine los registros de la aplicación en busca de errores relacionados con la API

Si necesita más ayuda, póngase en contacto con el soporte del Babel Licensing Service e indique la versión de su servidor IIS y los detalles de la configuración.

Last updated on