Herramientas Informaticas

Mes: julio 2026

Cómo resolver “Error while downloading the document file to be converted” en OnlyOffice + Nextcloud tras actualizar el certificado

Entrada fija

Si acabas de renovar o cambiar el certificado SSL de tu servidor Nextcloud y ahora OnlyOffice Document Server (corriendo en Docker) dejó de funcionar mostrando el mensaje:

Error when trying to connect (Error occurred in the document service: Error while downloading the document file to be converted.)

este artículo documenta el diagnóstico completo y la solución que aplicamos en nuestro entorno (Docker, versión de Document Server 9.3.1.10).

El síntoma

Al intentar guardar la configuración de conexión entre la app de OnlyOffice en Nextcloud y el Document Server, Nextcloud devuelve el error de conversión de documento, sin más detalle en la interfaz.

Paso 1: Revisar los logs del contenedor de OnlyOffice

El primer paso —y el más importante— es ir directo al log del contenedor Docker, ya que la interfaz web no muestra el detalle técnico real:

sudo docker logs <container_id> --tail 100 | grep -i "downloadFile\|error\|CERT"

En nuestro caso, el log mostró claramente la causa:

error downloadFile:url=https://tu-dominio:444/index.php/apps/onlyoffice/empty?doc=...
code:DEPTH_ZERO_SELF_SIGNED_CERT;connect:undefined
Error: self-signed certificate

El diagnóstico

El código DEPTH_ZERO_SELF_SIGNED_CERT confirma que el problema es de confianza SSL, no de red, permisos ni JWT. El contenedor de OnlyOffice, al intentar descargar el archivo desde Nextcloud por HTTPS para convertirlo, rechaza el certificado porque es autofirmado (o le falta la cadena intermedia) y no forma parte de su almacén de certificados de confianza (CA store) interno.

Esto es un efecto colateral típico después de renovar o cambiar un certificado: aunque el navegador lo acepte (o lo tengas configurado para ignorarlo), el motor Node.js que corre dentro del contenedor de OnlyOffice valida los certificados de forma independiente y estricta.

La solución

Existen dos rutas posibles:

Opción A — Confiar en el certificado (recomendada si seguirá siendo autofirmado)

  1. Extraer el certificado servido en el puerto correspondiente:
echo | openssl s_client -connect tu-dominio:444 -servername tu-dominio 2>/dev/null | openssl x509 -outform PEM > cert.crt
  1. Copiarlo al contenedor y actualizar el almacén de confianza:
sudo docker cp cert.crt <container_id>:/usr/local/share/ca-certificates/cert.crt
sudo docker exec <container_id> update-ca-certificates
sudo docker restart <container_id>

Opción B — Deshabilitar la verificación estricta (solución que aplicamos)

Se edita el archivo de configuración del Document Server dentro del contenedor:

sudo docker exec -it <container_id> bash
nano /etc/onlyoffice/documentserver/local.json

Y se agrega la siguiente sección dentro de services.CoAuthoring:

"services": {
  "CoAuthoring": {
    "requestDefaults": {
      "rejectUnauthorized": false
    },
    ...
  }
}

Después de guardar el archivo, es indispensable reiniciar el contenedor para que los servicios internos (docservice, converter, nginx) carguen la nueva configuración:

sudo docker restart <container_id>

Tras el reinicio, la conexión entre Nextcloud y OnlyOffice vuelve a funcionar con normalidad.

Nota importante sobre seguridad

rejectUnauthorized: false desactiva la validación de certificados SSL para todas las peticiones salientes del Document Server, no solo hacia tu instancia de Nextcloud. Es una solución práctica y válida si el certificado en cuestión seguirá siendo autofirmado por diseño (por ejemplo, en una red interna), pero si en el futuro migras a un certificado válido emitido por una autoridad reconocida (como Let’s Encrypt), lo recomendable es revertir este valor a true para restaurar la verificación estricta y protegerte de posibles ataques de intermediario (man-in-the-middle) en esa conexión.

Resumen rápido

PasoAcción
1Revisar logs del contenedor con docker logs filtrando por downloadFile y CERT
2Confirmar el código de error (DEPTH_ZERO_SELF_SIGNED_CERT = problema de certificado)
3Editar local.json agregando rejectUnauthorized: false en requestDefaults
4Reiniciar el contenedor con docker restart
5Migrar a un certificado válido a futuro y revertir el ajuste (opcional, recomendado)

Documentado a partir de un caso real de integración Nextcloud + OnlyOffice Document Server 9.3.1.10 en Docker.

🔐 Solución definitiva: Error en ONLYOFFICE Docs al renovar certificado SSL en Nextcloud (certificado autofirmado)

Entrada fija

¿Tu integración de ONLYOFFICE con Nextcloud dejó de funcionar después de renovar el certificado SSL? Aparece el error: “Error when trying to connect (Error occurred in the document service: Error while downloading the document file to be converted.)” No te preocupes, aquí tienes la guía paso a paso para resolverlo de forma definitiva, tanto si usas certificado autofirmado como si quieres migrar a Let’s Encrypt.


📌 Índice

  1. Diagnóstico del problema
  2. Renovar el certificado en Nextcloud (Snap)
  3. Configurar Apache para el puerto 4445 (si aplica)
  4. Solución de confianza SSL en el contenedor ONLYOFFICE
  5. Configurar la integración en Nextcloud
  6. Automatizar renovaciones futuras
  7. Conclusión y recomendaciones finales

1. 🔍 Diagnóstico del problema

El error se debe a que el contenedor de ONLYOFFICE Document Server no confía en el nuevo certificado que presenta Nextcloud al intentar descargar el archivo a convertir. En los logs del contenedor aparece:

error downloadFile:url=https://gusadrive.dyndns.org:444/... code:DEPTH_ZERO_SELF_SIGNED_CERT

Para confirmar el diagnóstico, revisa los logs de tu contenedor:

sudo docker ps   # Identifica el nombre del contenedor (ej. reverent_torvalds)
sudo docker logs  --tail 100 | grep -i "downloadFile\|error\|CERT"

2. 🔄 Renovar el certificado en Nextcloud (Snap)

Si aún no has renovado tu certificado autofirmado, sigue estos pasos. Si ya lo hiciste, pasa al paso 3.

a) Generar un nuevo certificado autofirmado para el dominio:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
    -keyout /var/snap/nextcloud/current/certs/custom/key.pem \
    -out /var/snap/nextcloud/current/certs/custom/cert.pem \
    -subj "/CN=gusadrive.dyndns.org"

b) Crear el archivo chain.pem (necesario para Nextcloud Snap):

sudo cp /var/snap/nextcloud/current/certs/custom/cert.pem /var/snap/nextcloud/current/certs/custom/chain.pem

c) Instalar el certificado en Nextcloud Snap:

sudo nextcloud.enable-https custom \
    /var/snap/nextcloud/current/certs/custom/cert.pem \
    /var/snap/nextcloud/current/certs/custom/key.pem \
    /var/snap/nextcloud/current/certs/custom/chain.pem

d) Reiniciar Nextcloud:

sudo snap restart nextcloud

3. 🌐 Configurar Apache para el puerto 4445 (si aplica)

Si tienes un VirtualHost de Apache que expone el panel de ONLYOFFICE en el puerto 4445, actualiza la configuración.

a) Localiza el VirtualHost:

sudo grep -r "4445" /etc/apache2/sites-enabled/

b) Edita el archivo (ej. /etc/apache2/sites-available/onlyoffice.conf) y apunta a los nuevos certificados:

<VirtualHost *:4445>
    ServerName gusadrive.dyndns.org
    SSLEngine on
    SSLCertificateFile "/etc/apache2/ssl/onlyoffice.crt"
    SSLCertificateKeyFile "/etc/apache2/ssl/onlyoffice.key"
    ...
</VirtualHost>

c) Copia los certificados a la ruta especificada:

sudo mkdir -p /etc/apache2/ssl
sudo cp /var/snap/nextcloud/current/certs/custom/cert.pem /etc/apache2/ssl/onlyoffice.crt
sudo cp /var/snap/nextcloud/current/certs/custom/key.pem /etc/apache2/ssl/onlyoffice.key

d) Habilita el sitio y reinicia Apache:

sudo a2ensite onlyoffice.conf
sudo systemctl restart apache2

4. 🐳 Solución de confianza SSL en el contenedor ONLYOFFICE

Tienes dos opciones para que el contenedor confíe en el certificado autofirmado de Nextcloud.

✅ Opción A (Recomendada para producción): Agregar el certificado al almacén de CA del contenedor

1. Copia el certificado al contenedor:

sudo docker cp /var/snap/nextcloud/current/certs/custom/cert.pem <nombre_contenedor>:/usr/local/share/ca-certificates/nextcloud.crt

2. Actualiza el almacén de CA dentro del contenedor:

sudo docker exec <nombre_contenedor> update-ca-certificates

3. Reinicia el contenedor:

sudo docker restart <nombre_contenedor>

4. Verifica que el certificado se haya agregado:

sudo docker exec <nombre_contenedor> ls -la /usr/local/share/ca-certificates/

⚠️ Opción B (Solución temporal / pruebas): Deshabilitar la verificación SSL en ONLYOFFICE

Esta opción es más rápida pero reduce la seguridad (el contenedor no validará certificados en ninguna conexión saliente).

1. Entra al contenedor:

sudo docker exec -it <nombre_contenedor> bash

2. Edita el archivo /etc/onlyoffice/documentserver/local.json y agrega la siguiente sección (si no existe):

{
  "services": {
    "CoAuthoring": {
      "requestDefaults": {
        "rejectUnauthorized": false
      }
    }
  }
}

3. Guarda, sal del contenedor y reinícialo:

sudo docker restart <nombre_contenedor>

5. ⚙️ Configurar la integración en Nextcloud

Ve a Configuración → ONLYOFFICE → Servidor de documentos en Nextcloud y asegura estos valores:

  • URL del servidor de documentos: http://localhost:8085/ (con barra final).
  • Clave secreta (JWT): Debe coincidir con la generada en ONLYOFFICE. Obténla con: sudo docker exec <nombre_contenedor> sudo documentserver-jwt-status.sh
  • Configuración avanzada (JSON):
    • Si usaste la Opción A, no necesitas nada extra.
    • Si usaste la Opción B, agrega: { "rejectUnauthorized": false }

Guarda los cambios.


6. 🔁 Automatizar renovaciones futuras (para certificado autofirmado)

Crea un script que se ejecute mensualmente para regenerar el certificado e instalarlo tanto en Nextcloud como en el contenedor.

Script de ejemplo (/root/renew_selfsigned.sh):

#!/bin/bash
# Regenerar certificado autofirmado
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
    -keyout /var/snap/nextcloud/current/certs/custom/key.pem \
    -out /var/snap/nextcloud/current/certs/custom/cert.pem \
    -subj "/CN=gusadrive.dyndns.org"

cp /var/snap/nextcloud/current/certs/custom/cert.pem /var/snap/nextcloud/current/certs/custom/chain.pem

# Instalar en Nextcloud
nextcloud.enable-https custom \
    /var/snap/nextcloud/current/certs/custom/cert.pem \
    /var/snap/nextcloud/current/certs/custom/key.pem \
    /var/snap/nextcloud/current/certs/custom/chain.pem

snap restart nextcloud

# Copiar al contenedor de ONLYOFFICE
docker cp /var/snap/nextcloud/current/certs/custom/cert.pem <nombre_contenedor>:/usr/local/share/ca-certificates/nextcloud.crt
docker exec <nombre_contenedor> update-ca-certificates
docker restart <nombre_contenedor>

Programa en cron (diario a las 3 AM, primer día de mes):

sudo crontab -e
# Añadir la línea:
0 3 1 * * /root/renew_selfsigned.sh >> /var/log/renew_cert.log 2>&1

7. 🎯 Conclusión y recomendaciones finales

  • El error “Error while downloading the document file” después de renovar un certificado autofirmado en Nextcloud se debe a que el contenedor de ONLYOFFICE no confía en ese certificado.
  • Opción A (recomendada): Agregar el certificado al almacén de CA del contenedor y actualizar las CA. Es segura y permite mantener la verificación SSL activa.
  • Opción B (temporal): Deshabilitar la verificación SSL en ONLYOFFICE editando local.json. Más rápida pero menos segura.
  • Recomendación a largo plazo: Utilizar un certificado de Let’s Encrypt con validación DNS para evitar este problema de raíz y simplificar las renovaciones.

Notas adicionales:

  • La comunicación entre Nextcloud y ONLYOFFICE puede hacerse por HTTP interno (http://localhost:8085) para evitar SSL por completo (válido si ambos servicios corren en el mismo servidor).
  • Asegura que el token JWT coincida exactamente entre ambos lados; un token incorrecto dará error 403.
  • Los logs del contenedor son la mejor herramienta para depurar: sudo docker logs <nombre> --tail 50 -f.

¿Te ha sido útil esta guía? Déjanos un comentario si tienes dudas o comparte tu experiencia. Si necesitas ayuda adicional, no dudes en contactarnos.

Creado con WordPress & Tema de Anders Norén