Solucione el error "La interfaz WebDAV está dañada" en ownCloud.
Si ownCloud se carga en un navegador pero su página de administración indica que la interfaz WebDAV está dañada, es posible que también fallen las cargas de archivos, la sincronización con el escritorio y la aplicación Archivos. Esta advertencia es un síntoma, no un diagnóstico: el punto final DAV podría ser inaccesible, estar mal configurado, bloqueado por un proxy o una regla de seguridad, o ser inaccesible cuando ownCloud accede a su propia URL pública.
Esta guía se aplica a las instalaciones de ownCloud Classic Server. ownCloud Infinite Scale tiene una arquitectura y un modelo de implementación diferentes, por lo que no aplique la configuración de Apache de Classic Server a una implementación de Infinite Scale. Las páginas oficiales que se enlazan a continuación cubren ownCloud Server 10.15 y 10.16, además de Classic Server 11.0; las comprobaciones utilizan rutas WebDAV documentadas y requisitos de Apache, mientras que la advertencia de administración exacta puede variar según la versión.
Nota ilustrativa: Las imágenes de la interfaz y la terminal que se muestran a continuación son ejemplos esquemáticos. Los nombres de host, las líneas de estado y los valores mostrados son marcadores de posición; no representan una instalación capturada ni indican que se haya ejecutado una prueba.
¿Qué significa la advertencia de WebDAV?
WebDAV es la interfaz basada en HTTP que ownCloud utiliza para listar y administrar archivos para clientes de sincronización y operaciones de archivos relacionadas. El inicio de sesión en el navegador solo confirma que la interfaz web responde. No confirma que una solicitud WebDAV llegue a ownCloud con su ruta, método, encabezados de autenticación y conexión HTTPS intactos.
Para empezar, determine si el fallo es externo o si se produce únicamente en la autocomprobación de ownCloud. Un error del cliente de sincronización y una solicitud WebDAV autenticada fallida apuntan a un problema con la ruta DAV o la autenticación. Si los clientes funcionan, pero la advertencia del administrador persiste, compruebe si el servidor puede resolver y acceder al nombre de host público, incluido su certificado TLS.
Paso 1: Anote la URL exacta y pruebe WebDAV directamente.
Utilice el mismo nombre de host y la misma ruta de instalación que los usuarios introducen en un navegador. Para una instalación en el dominio raíz, la ruta DAV de Classic Server actual suele seguir este formato:
Si ownCloud está instalado en una ruta específica, incluya esa ruta antes de /remote.php, por ejemplo https://example.com/owncloud/remote.php/dav/files/USERNAME/. Use su propio nombre de cuenta y URL. No pruebe un nombre de host inventado ni asuma que todas las instalaciones usan el mismo subdirectorio.
Desde una máquina cliente, envíe una solicitud PROPFIND autenticada. Con cURL, pasar solo el nombre de usuario solicita la contraseña en lugar de colocarla en el comando:
Una respuesta WebDAV válida y autenticada suele usar HTTP 207 Multi-Status. Un error 401puede simplemente significar que las credenciales no fueron aceptadas; un 404error a menudo apunta a la ruta incorrecta o a una reescritura de ruta de proxy; un error 403sugiere una regla de acceso, WAF o política del servidor; y un error 301o 302puede indicar una redirección que el cliente o la autocomprobación no siguen como se esperaba. Lea los encabezados de respuesta y los registros del servidor antes de cambiar la configuración. Oculte los nombres de usuario, las cookies, los tokens y las direcciones IP públicas antes de compartir la salida de los comandos.
Vista general del panel de administración que muestra una advertencia de WebDAV; los valores de estado mostrados son ejemplos.Un ejemplo del tipo de respuesta 207 Multi-Status que puede devolver una comprobación PROPFIND autenticada.
Paso 2: Compruebe si el servidor puede acceder a su propia URL pública.
Algunas comprobaciones de configuración realizan una solicitud desde el servidor ownCloud a su dirección pública configurada. Ejecute comprobaciones básicas de DNS y HTTPS desde ese servidor, no solo desde su portátil:
El nombre de host debe resolverse a una dirección accesible desde el servidor, y la solicitud HTTPS debe completarse sin errores de certificado, cadena de confianza o conexión. Si el DNS redirige el servidor a través de un cortafuegos que no admite la reflexión NAT (también conocida como NAT hairpin), un cliente externo podría funcionar mientras que la autocomprobación interna falla. Podría ser conveniente usar DNS dividido, una ruta interna al proxy inverso o un ajuste de red del proveedor; realice el cambio más limitado que se ajuste al diseño de su red.
Una entrada de dominio de confianza es una lista de hosts permitidos para las solicitudes entrantes de ownCloud. Añada solo los nombres de host que los usuarios realmente utilizan, siguiendo el procedimiento de configuración documentado. No añada direcciones internas arbitrarias al azar. Esta overwrite.cli.urlconfiguración controla la URL utilizada por los contextos de línea de comandos/segundo plano en algunas configuraciones; no sustituye la corrección de DNS, enrutamiento o TLS. Confirme el contenido de la advertencia antes de modificar cualquiera de las configuraciones.
Un ejemplo de vista de configuración de Apache que resalta la configuración de anulación de directorio; verifique la ruta y las directivas reales para su instalación.
Paso 3: Verificar la configuración de reescritura y de directorio de Apache.
Para instalaciones de Apache, la guía de configuración manual de ownCloud requiere mod_rewrite, AllowOverride Allpara el directorio ownCloud cuando se utiliza el incluido .htaccess, y una configuración de Apache relacionada con DAV que evita que el módulo DAV de Apache controle la ruta de la aplicación. Compare su host virtual y bloque de directorio con la guía oficial en lugar de pegar un ejemplo completo sobre un sitio personalizado.
En Debian o Ubuntu, inspeccione el módulo de reescritura cargado y la sintaxis de configuración de Apache:
Si la reescritura no está presente, habilítela con sudo a2enmod rewrite, luego valide la configuración nuevamente y recargue Apache solo después de que la verificación de sintaxis sea exitosa. Confirme que la <Directory>ruta coincide con la raíz web real de ownCloud y que las anulaciones no están deshabilitadas en niveles superiores de la configuración. Evite reemplazar manualmente la configuración generada por ownCloud .htaccesscon una receta de reescritura genérica; las reglas personalizadas pueden dañar las rutas de la aplicación o perderse durante las actualizaciones.
Paso 4: Compruebe los proxies inversos, las reglas del WAF y los encabezados de autenticación.
Si el punto final funciona al llamarlo directamente al servidor web, pero falla al acceder a la URL pública, revise el proxy inverso o el balanceador de carga. Asegúrese de que conserve la /remote.php/dav/ruta completa, reenvíe la información de Host y HTTPS esperada y permita métodos WebDAV como PROPFIND, OPTIONS, PUT, y MOVEdonde sea necesario. Un proxy que elimine el prefijo de instalación o envíe las solicitudes DAV a un servidor backend diferente puede hacer que la interfaz web parezca correcta mientras que las operaciones de archivos fallan.
Revise los registros del proxy, Apache/Nginx y ownCloud en el momento de la solicitud fallida. Un firewall de aplicaciones web o una regla de ModSecurity pueden rechazar un método o el cuerpo de la solicitud. Identifique el ID exacto de la regla y cree una excepción específica para la ruta o solicitud de ownCloud afectada; luego, vuelva a realizar la prueba. No desactive el WAF globalmente solo para eliminar una advertencia. Si la autenticación DAV falla únicamente detrás de un controlador FastCGI/PHP, verifique que el encabezado de autorización se pase a PHP; las notas de configuración de ownCloud documentan este tipo de problema.
Paso 5: Validar TLS y redirecciones
Los clientes WebDAV dependen de una conexión HTTPS válida, al igual que los navegadores. Compruebe que el certificado sea válido para el nombre de host, que incluya los certificados intermedios necesarios y que sea de confianza para el entorno del servidor que ejecuta la autocomprobación de ownCloud. Un navegador puede ocultar o confiar por separado en un problema de certificado que reportan cURL o PHP. No desactive la verificación de certificados como solución.
Compruebe si existen bucles de redireccionamiento, redireccionamientos inesperados de HTTP a HTTPS o redireccionamientos desde la ruta DAV a una página de inicio de sesión o página de inicio genérica. Un redireccionamiento puede ser normal para la URL base del navegador, pero la solicitud DAV debería llegar finalmente al punto final de la aplicación conservando su método y encabezado de autorización. Si un proxy finaliza TLS, confirme que ownCloud recibe el protocolo y el host reenviados correctos según la configuración documentada del proxy.
Un ejemplo de comprobación de DNS y certificado desde el servidor que debe conectarse al nombre de host público.
Verificar la solución desde ambos lados
Después de cada cambio específico, repita las mismas comprobaciones en lugar de modificar varias capas a la vez:
Desde un cliente, autentíquese en la URL DAV documentada y confirme que la respuesta es una respuesta WebDAV esperada, normalmente 207 Multi-Statuspara PROPFIND.
Desde el servidor ownCloud, confirme que el nombre de host público se resuelve y que HTTPS llega a la instancia sin un error de validación TLS.
Vuelva a consultar la descripción general de administración de ownCloud e inspeccione los registros en busca de nuevos errores de DAV, proxy o autenticación.
Prueba a cargar, renombrar y descargar un archivo pequeño en la interfaz web o en un cliente de sincronización compatible.
Si las solicitudes del cliente funcionan pero la advertencia persiste, concéntrese en el DNS, el enrutamiento, la confianza del certificado y la URL pública configurada del propio servidor. Si tanto la autocomprobación como los clientes fallan, concéntrese primero en la ruta del punto final, las reglas de reescritura, el enrutamiento del proxy, los métodos de solicitud y el reenvío de autenticación. Cuando el servidor es administrado por un proveedor de alojamiento, envíe al soporte la marca de tiempo, el estado HTTP anonimizado, la ruta solicitada y la entrada de registro correspondiente; no envíe contraseñas ni configuraciones que contengan información confidencial.