How to force SSL trust between NextCloud and Euro-Office

Hello all, I need some help with SSL certificates and NextCloud to Euro-Office connectivity. Some background: I have a FreeIPA server setup so I’m joining all of my servers to the domain, and issuing SSL certs from the CA included in FreeIPA. The goal is to run NextCloud and Euro-Office completely internally behind a VPN, with no Internet access. I’ve been able to setup NextCloud and get it running without issue, including adding LDAP users in who can login and use NextCloud without issue. Certs are auto-trusted by users because they install the root CA cert on their local machines so anything issued by the CA in FreeIPA is automatically trusted by the endpoints.

NextCloud is installed on Rocky 10 with a LAMP stack. Euro-Office is installed on Debian 13, a separate server, following the instructions from NextCloud to do a bare metal install. I have a new install of NextCloud, and it’s working fine. Euro-Office is also a new install and has not been configured. The issue is when I try to connect them in the NextCloud admin panel for adding Euro-Office, I get a document conversion error. After lots of digging, the specific error is:
[2026-09-11T20:59:04.944] [ERROR] [localhost] [check_1448660318] [userId] nodeJS - error downloadFile:url=https://[NextCloud-Server]/index.php/apps/eurooffice/empty?doc=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhY3Rpb24iOiJlbXB0eSJ9.32nPIRe9K1HOb0COrUSWeWquCCnD8RMqEJOfVqkeI00;attempt=3;code:SELF_SIGNED_CERT_IN_CHAIN;connect:undefined Error: self-signed certificate in certificate chain

Euro-Office is throwing this error in its /var/log/euro-office/documentserver/converter/out.log log file. So I think the issue is that Euro-Office doesn’t like the cert presented by NextCloud. So far I’ve added the root certificate of the CA into the trust store on Debian, and added the actual host cert that NextCloud is presenting into the trust store as well. That hasn’t fixed the issue. So I’m thinking from some research that Node.js is using a separate trust store and I can’t figure out how to force it to trust this certificate. Since this is on a corporate network and its usage will be 100% internal, I’m fine with forcing trust, but I still want the traffic encrypted with HTTPS. So I just need help figuring out how to get it to trust my internal CA-issued certificates.

Log entries

Nextcloud

Please provide the log entries from your Nextcloud log that are generated during the time of problem (via the Copy raw option from Administration settings->Logging screen or from your nextcloud.log located in your data directory). Feel free to use a pastebin/gist service if necessary.

   app: eurooffice
   exception: { [-]
     Code: 0
     CustomMessage: getConvertedUri on check error
     Exception: Exception
     File: /var/www/nextcloud/apps/eurooffice/lib/DocumentService.php
     Line: 241
     Message: Error occurred in the document service: Error while downloading the document file to be converted.
     Trace: [ [+]
     ]
     exception: {"class":"Exception","message":"Error occurred in the document service: Error while downloading the document file to be converted.","code":0,"file":"/var/www/nextcloud/apps/eurooffice/lib/DocumentService.php:241","trace":"#0 /var/www/nextcloud/apps/eurooffice/lib/DocumentService.php(88): OCA\Eurooffice\DocumentService->processConvServResponceError()\n#1 /var/www/nextcloud/apps/eurooffice/lib/DocumentService.php(430): OCA\Eurooffice\DocumentService->getConvertedUri()\n#2 /var/www/nextcloud/apps/eurooffice/lib/Controller/SettingsController.php(137): OCA\Eurooffice\DocumentService->checkDocServiceUrl()\n#3 /var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php(165): OCA\Eurooffice\Controller\SettingsController->saveAddress()\n#4 /var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php(78): OC\AppFramework\Http\Dispatcher->executeController()\n#5 /var/www/nextcloud/lib/private/AppFramework/App.php(137): OC\AppFramework\Http\Dispatcher->dispatch()\n#6 /var/www/nextcloud/lib/private/Route/Router.php(324): OC\AppFramework\App::main()\n#7 /var/www/nextcloud/lib/base.php(1172): OC\Route\Router->match()\n#8 /var/www/nextcloud/index.php(25): OC::handleRequest()\n#9 {main}"}
     message: getConvertedUri on check error
   }
   level: 3
   message: getConvertedUri on check error
   method: PUT
   remoteAddr: 10.181.107.49
   reqId: aq3R-NJISoJxDzAS6isrdgAAANM
   scriptName: /index.php
   time: 2026-09-19T00:06:20+00:00
   url: /index.php/apps/eurooffice/ajax/settings/address
   user: 266d7ee4-8568-11f1-b4cb-bc24118024c5
   userAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0
   version: 34.0.3.2 

Nextcloud configuration

{
    "system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "[NextCloud-server-FQDN]",
            "[Euro-Office-server-FQDN]",
            "[Domain]",
            "[Euro-Office IP]",
            "[NextCloud IP]"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "34.0.3.2",
        "overwrite.cli.url": "http:\/\/[NextCloud-server]",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "mysql.utf8mb4": true,
        "installed": true,
        "ldapProviderFactory": "OCA\\User_LDAP\\LDAPProviderFactory",
        "content_security_policy_domains": [
            "[Euro-Office-server-FQDN]"
        ],
        "allow_local_remote_servers": true,
        "verify_peer_off": true,
        "updater.secret": "***REMOVED SENSITIVE VALUE***"
    }
}

Apps

The output of occ app:list (if possible).

Enabled:

  • activity: 7.0.0
  • admin_audit: 1.24.0
  • app_api: 34.0.0
  • appstore: 1.0.0
  • bruteforcesettings: 7.0.0
  • circles: 34.0.0
  • cloud_federation_api: 1.18.0
  • comments: 1.24.0
  • contactsinteraction: 1.15.0
  • dashboard: 7.14.0
  • dav: 1.40.0
  • encryption: 2.22.0
  • eurooffice: 11.0.4
  • federatedfilesharing: 1.24.0
  • federation: 1.24.0
  • files: 2.6.0
  • files_downloadlimit: 5.2.0
  • files_lock: 34.0.1
  • files_pdfviewer: 7.0.0-dev.0
  • files_reminders: 1.7.0
  • files_sharing: 1.26.0
  • files_trashbin: 1.24.0
  • files_versions: 1.27.0
  • firstrunwizard: 7.0.0-dev.0
  • logreader: 7.0.0
  • lookup_server_connector: 1.22.0
  • nextcloud_announcements: 6.0.0
  • notifications: 7.0.0-dev.1
  • oauth2: 1.22.0
  • office: 1.0.0
  • password_policy: 6.0.0-dev.0
  • photos: 7.0.0
  • privacy: 6.0.0-dev.1
  • profile: 1.3.0
  • provisioning_api: 1.24.0
  • recommendations: 7.0.0
  • related_resources: 5.0.0-dev.0
  • serverinfo: 6.0.0
  • settings: 1.17.0
  • sharebymail: 1.24.0
  • support: 6.0.0
  • survey_client: 6.0.0-dev.0
  • systemtags: 1.24.0
  • text: 8.0.0
  • theming: 2.9.0
  • twofactor_backupcodes: 1.23.0
  • twofactor_totp: 16.0.0
  • updatenotification: 1.24.0
  • user_ldap: 1.25.0
  • user_status: 1.14.0
  • viewer: 7.0.0-dev.0
  • weather_status: 1.14.0
  • webhook_listeners: 1.6.0
  • workflowengine: 2.16.0
    Disabled:
  • files_external: 1.26.0
  • suspicious_login: 12.0.0-dev.0
  • twofactor_nextcloud_notification: 8.0.0