Collabora Error opening files

  • Nextcloud Server version (e.g., 29.x.x):
    • Nextcloud Hub 10 (31.0.6)
  • Operating system and version:
    • Ubuntu Server 22.04.5 LTS - Linux 5.15.0-143-generic x86_64
  • Web server and version:
    • Apache (fpm-fcgi)
  • PHP version:
    • 8.1
  • When did this problem seem to first start?
    • After update NC 29 to NC 30
  • Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
    • snap
  • Are you using CloudfIare, mod_security, or similar? (Yes / No)
    • No
  • Network Settings

lo
Stato: up
VelocitĆ : unknown (Duplex: unknown)
IPv4: 127.0.0.1
IPv6: ::1
ens160
Stato: up
VelocitĆ : 10 Gbps (Duplex: full)
MAC: 00:50:**:**:**:**
IPv4: 192.168.***:***
IPv6: fe80::250:***:****:****

Summary of the issue you are facing:

Hello
In my nextcloud i have an issue to open files (.docx, .xlsx, .pptx) through my domain (cloud.mycompany.it). When i try to open a file, it start to loading for hours and nothing happens. I have some errors in the browser console

If i open nextcloud through the local IP (192.168.x.x) i can open the files correctly and works fine.

This issue happened after upgrading NC 29 to NC30. Now i have updated it to NC31 but still not work

Log entries

Nextcloud

{"reqId":"NIXVed6wnVQvHBue8t2n","level":3,"time":"2025-07-17T10:57:31+00:00","remoteAddr":"192.168.***.***","user":"************","app":"richdocuments","method":"GET","url":"/index.php/core/preview?fileId=1123910&x=250&y=250","message":"Failed to convert preview: Client error: `POST https://192.168.***.***/extra-apps/richdocumentscode/proxy.php?req=/cool/convert-to/png` resulted in a `400 Bad Request` response:\n<html><body>\n<h1>Socket proxy error</h1>\n<p>Error: No content in reply from coolwsd. Is SSL enabled in error ?</p>\n</bod (truncated...)\n","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36 Edg/138.0.0.0","version":"31.0.6.2","exception":{"Exception":"GuzzleHttp\\Exception\\ClientException","Message":"Client error: `POST https://192.168.***.***/extra-apps/richdocumentscode/proxy.php?req=/cool/convert-to/png` resulted in a `400 Bad Request` response:\n<html><body>\n<h1>Socket proxy error</h1>\n<p>Error: No content in reply from coolwsd. Is SSL enabled in error ?</p>\n</bod (truncated...)\n","Code":400,"Trace":[{"file":"/snap/nextcloud/48751/htdocs/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":72,"function":"create","class":"GuzzleHttp\\Exception\\RequestException","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/snap/nextcloud/48751/htdocs/3rdparty/guzzlehttp/promises/src/Promise.php","line":209,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/snap/nextcloud/48751/htdocs/3rdparty/guzzlehttp/promises/src/Promise.php","line":158,"function":"callHandler","class":"GuzzleHttp\\Promise\\Promise","type":"::"},{"file":"/snap/nextcloud/48751/htdocs/3rdparty/guzzlehttp/promises/src/TaskQueue.php","line":52,"function":"GuzzleHttp\\Promise\\{closure}","class":"GuzzleHttp\\Promise\\Promise","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/snap/nextcloud/48751/htdocs/3rdparty/guzzlehttp/promises/src/Promise.php","line":251,"function":"run","class":"GuzzleHttp\\Promise\\TaskQueue","type":"->"},{"file":"/snap/nextcloud/48751/htdocs/3rdparty/guzzlehttp/promises/src/Promise.php","line":227,"function":"invokeWaitFn","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/snap/nextcloud/48751/htdocs/3rdparty/guzzlehttp/promises/src/Promise.php","line":272,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/snap/nextcloud/48751/htdocs/3rdparty/guzzlehttp/promises/src/Promise.php","line":229,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/snap/nextcloud/48751/htdocs/3rdparty/guzzlehttp/promises/src/Promise.php","line":69,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/snap/nextcloud/48751/htdocs/3rdparty/guzzlehttp/guzzle/src/Client.php","line":189,"function":"wait","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/snap/nextcloud/48751/htdocs/lib/private/Http/Client/Client.php","line":277,"function":"request","class":"GuzzleHttp\\Client","type":"->"},{"file":"/var/snap/nextcloud/48751/nextcloud/extra-apps/richdocuments/lib/Service/RemoteService.php","line":87,"function":"post","class":"OC\\Http\\Client\\Client","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/snap/nextcloud/48751/nextcloud/extra-apps/richdocuments/lib/Service/RemoteService.php","line":67,"function":"convertTo","class":"OCA\\Richdocuments\\Service\\RemoteService","type":"->"},{"file":"/var/snap/nextcloud/48751/nextcloud/extra-apps/richdocuments/lib/Preview/Office.php","line":41,"function":"convertFileTo","class":"OCA\\Richdocuments\\Service\\RemoteService","type":"->"},{"file":"/snap/nextcloud/48751/htdocs/lib/private/Preview/GeneratorHelper.php","line":44,"function":"getThumbnail","class":"OCA\\Richdocuments\\Preview\\Office","type":"->"},{"file":"/snap/nextcloud/48751/htdocs/lib/private/Preview/Generator.php","line":342,"function":"getThumbnail","class":"OC\\Preview\\GeneratorHelper","type":"->"},{"file":"/snap/nextcloud/48751/htdocs/lib/private/Preview/Generator.php","line":313,"function":"generateProviderPreview","class":"OC\\Preview\\Generator","type":"->"},{"file":"/snap/nextcloud/48751/htdocs/lib/private/Preview/Generator.php","line":117,"function":"getMaxPreview","class":"OC\\Preview\\Generator","type":"->"},{"file":"/snap/nextcloud/48751/htdocs/lib/private/Preview/Generator.php","line":87,"function":"generatePreviews","class":"OC\\Preview\\Generator","type":"->"},{"file":"/snap/nextcloud/48751/htdocs/lib/private/PreviewManager.php","line":161,"function":"getPreview","class":"OC\\Preview\\Generator","type":"->"},{"file":"/snap/nextcloud/48751/htdocs/core/Controller/PreviewController.php","line":168,"function":"getPreview","class":"OC\\PreviewManager","type":"->"},{"file":"/snap/nextcloud/48751/htdocs/core/Controller/PreviewController.php","line":127,"function":"fetchPreview","class":"OC\\Core\\Controller\\PreviewController","type":"->"},{"file":"/snap/nextcloud/48751/htdocs/lib/private/AppFramework/Http/Dispatcher.php","line":200,"function":"getPreviewByFileId","class":"OC\\Core\\Controller\\PreviewController","type":"->"},{"file":"/snap/nextcloud/48751/htdocs/lib/private/AppFramework/Http/Dispatcher.php","line":114,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/snap/nextcloud/48751/htdocs/lib/private/AppFramework/App.php","line":161,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/snap/nextcloud/48751/htdocs/lib/private/Route/Router.php","line":307,"function":"main","class":"OC\\AppFramework\\App","type":"::"},{"file":"/snap/nextcloud/48751/htdocs/lib/base.php","line":1040,"function":"match","class":"OC\\Route\\Router","type":"->"},{"file":"/snap/nextcloud/48751/htdocs/index.php","line":24,"function":"handleRequest","class":"OC","type":"::"}],"File":"/snap/nextcloud/48751/htdocs/3rdparty/guzzlehttp/guzzle/src/Exception/RequestException.php","Line":111,"message":"Failed to convert preview: Client error: `POST https://192.168.***.***/extra-apps/richdocumentscode/proxy.php?req=/cool/convert-to/png` resulted in a `400 Bad Request` response:\n<html><body>\n<h1>Socket proxy error</h1>\n<p>Error: No content in reply from coolwsd. Is SSL enabled in error ?</p>\n</bod (truncated...)\n","exception":[],"CustomMessage":"Failed to convert preview: Client error: `POST https://192.168.***.***/extra-apps/richdocumentscode/proxy.php?req=/cool/convert-to/png` resulted in a `400 Bad Request` response:\n<html><body>\n<h1>Socket proxy error</h1>\n<p>Error: No content in reply from coolwsd. Is SSL enabled in error ?</p>\n</bod (truncated...)\n"},"id":"6878e6f9c7ad7"}

Web Browser

index.mjs:51  [WARN] viewer: Some mimes were ignored because they are not enabled in the server previews config Object
log @ index.mjs:51
logoheader:1   Failed to load resource: the server responded with a status of 404 (Not Found)
cfg_share_links-regRenameLink.mjs?v=21bb3969-18:2 CfgShareLinks: RenameLink init
cfg_share_links-regNewLink.mjs?v=21bb3969-18:3 CfgShareLinks: NewLink init
three.module.js:50437  WARNING: Multiple instances of Three.js being imported.
(anonymous) @ three.module.js:50437
logoheader:1   Failed to load resource: the server responded with a status of 404 (Not Found)
session-heartbeat.js:83 session heartbeat polling started
cfg_share_links-regRenameLink.mjs?v=21bb3969-18:2 CfgShareLinks: Registering rename action
/index.php/apps/files/files:1 [Intervention] Images loaded lazily and replaced with placeholders. Load events are deferred. See https://go.microsoft.com/fwlink/?linkid=2048113
logoheader:1   Failed to load resource: the server responded with a status of 404 (Not Found)
logoheader:1   Failed to load resource: the server responded with a status of 404 (Not Found)
xhr.js:195  Refused to connect to 'https://192.168.***.***/extra-apps/richdocumentscode/proxy.php?status' because it violates the following Content Security Policy directive: "connect-src 'self' https://nominatim.openstreetmap.org/ blob:".

(anonymous) @ xhr.js:195
logoheader:1   Failed to load resource: the server responded with a status of 404 (Not Found)
collabora.js:59  Uncaught (in promise) K
[NEW] Explain Console errors by using Copilot in Edge: click
         
         to explain an error. 
        Learn more
        Don't show again
server.css:1   GET https://cloud.tredlab.it/index.php/apps/theming/image/logoheader?v=18 404 (Not Found)
server.css:1   GET https://cloud.tredlab.it/index.php/apps/theming/image/logoheader?v=18 404 (Not Found)

Configuration

Nextcloud

{
    "apps_paths": [
        {
            "path": "\/snap\/nextcloud\/current\/htdocs\/apps",
            "url": "\/apps",
            "writable": false
        },
        {
            "path": "\/var\/snap\/nextcloud\/current\/nextcloud\/extra-apps",
            "url": "\/extra-apps",
            "writable": true
        }
    ],
    "supportedDatabases": [
        "mysql"
    ],
    "memcache.locking": "\\OC\\Memcache\\Redis",
    "memcache.local": "\\OC\\Memcache\\Redis",
    "redis": {
        "host": "***REMOVED SENSITIVE VALUE***",
        "port": 0
    },
    "log_type": "file",
    "logfile": "\/var\/snap\/nextcloud\/current\/logs\/nextcloud.log",
    "logfilemode": 416,
    "instanceid": "***REMOVED SENSITIVE VALUE***",
    "passwordsalt": "***REMOVED SENSITIVE VALUE***",
    "secret": "***REMOVED SENSITIVE VALUE***",
    "trusted_domains": [
        "{{ * }}",
        "cloud.mydomain.it",
        "***Internal IP***",
        "localhost",
        "nextcloud.local",
        "***Public IP***"
    ],
    "datadirectory": "***REMOVED SENSITIVE VALUE***",
    "dbtype": "mysql",
    "version": "31.0.6.2",
    "overwrite.cli.url": "https:\/\/cloud.mydomain.it",
    "overwriteprotocol": "https",
    "htaccess.RewriteBase": "\/",
    "dbname": "***REMOVED SENSITIVE VALUE***",
    "dbhost": "***REMOVED SENSITIVE VALUE***",
    "dbport": "",
    "dbtableprefix": "oc_",
    "mysql.utf8mb4": true,
    "dbuser": "***REMOVED SENSITIVE VALUE***",
    "dbpassword": "***REMOVED SENSITIVE VALUE***",
    "installed": true,
    "default_phone_region": "IT",
    "maintenance": false,
    "loglevel": 2,
    "mail_from_address": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpmode": "smtp",
    "mail_smtpauthtype": "LOGIN",
    "mail_sendmailmode": "smtp",
    "mail_domain": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpauth": true,
    "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpport": "587",
    "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
    "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
    "theme": "",
    "memories.exiftool": "\/var\/snap\/nextcloud\/42230\/nextcloud\/extra-apps\/memories\/bin-ext\/exiftool-amd64-glibc",
    "memories.vod.path": "\/var\/snap\/nextcloud\/41512\/nextcloud\/extra-apps\/memories\/bin-ext\/go-vod-amd64",
    "app_install_overwrite": [
        "socialsharing_facebook",
        "socialsharing_twitter",
        "documents",
        "files_3d",
        "pdfdraw",
        "discretepdfsigner",
        "w2g2",
        "ncdownloader",
        "otpmanager"
    ],
    "has_rebuilt_cache": true,
    "memories.db.triggers.fcu": true,
    "maintenance_window_start": 1,
    "forbidden_filename_basenames": [
        "con",
        "prn",
        "aux",
        "nul",
        "com0",
        "com1",
        "com2",
        "com3",
        "com4",
        "com5",
        "com6",
        "com7",
        "com8",
        "com9",
        "com\u00b9",
        "com\u00b2",
        "com\u00b3",
        "lpt0",
        "lpt1",
        "lpt2",
        "lpt3",
        "lpt4",
        "lpt5",
        "lpt6",
        "lpt7",
        "lpt8",
        "lpt9",
        "lpt\u00b9",
        "lpt\u00b2",
        "lpt\u00b3"
    ],
    "forbidden_filename_characters": [
        "<",
        ">",
        ":",
        "\"",
        "|",
        "?",
        "*",
        "\\",
        "\/"
    ],
    "forbidden_filename_extensions": [
        " ",
        ".",
        ".filepart",
        ".part"
    ]
}

Apps

Enabled:
 - activity: 4.0.0
 - admin_audit: 1.21.0
 - app_api: 5.0.2
 - audioplayer: 3.4.1
 - bruteforcesettings: 4.0.0
 - calendar: 5.3.6
 - cfg_share_links: 7.0.1
 - checksum: 1.2.6
 - comments: 1.21.0
 - contacts: 7.2.0
 - contactsinteraction: 1.12.0
 - drawio: 3.1.0
 - files_3d: 0.5.0
 - files_3dmodelviewer: 0.0.15
 - files_confidential: 3.3.0
 - files_downloadlimit: 4.0.0
 - files_pdfviewer: 4.0.0
 - files_reminders: 1.4.0
 - files_sharing: 1.23.1
 - files_trashbin: 1.21.0
 - files_versions: 1.24.0
 - files_zip: 2.1.0
 - gpoddersync: 3.12.0
 - groupfolders: 19.1.2
 - logreader: 4.0.0
 - metadata: 0.22.0
 - nextcloud_announcements: 3.0.0
 - notifications: 4.0.0
 - password_policy: 3.0.0
 - passwords: 2025.7.20
 - passwords_handbook: 2025.7.20
 - photos: 4.0.0-dev.1
 - privacy: 3.0.0
 - recommendations: 4.0.0
 - related_resources: 2.0.0
 - richdocuments: 8.7.2
 - richdocumentscode: 25.4.202
 - serverinfo: 3.0.0
 - sharebymail: 1.21.0
 - skyprint: 0.1.7
 - support: 3.0.0
 - systemtags: 1.21.1
 - tasks: 0.16.1
 - text: 5.0.0
 - user_status: 1.11.0
 - webhook_listeners: 1.2.0
 - workflow_pdf_converter: 2.0.0
Disabled:
 - circles: 26.0.0
 - dashboard: 7.7.0
 - encryption: 2.16.0
 - federation: 1.16.0
 - files_external: 1.19.0
 - firstrunwizard: 2.16.0
 - ncdownloader: 1.0.23
 - previewgenerator: 5.9.0
 - survey_client: 3.0.0
 - suspicious_login
 - twofactor_nextcloud_notification
 - twofactor_totp
 - user_ldap
 - weather_status: 1.6.0

Nextcloud office setting when accessing with Local IP

Nextcloud office setting when accessing with mydomain

The link that i have entered in the field is:
https://192.168.***.***/extra-apps/richdocumentscode/proxy.php?req=

When i try to edit this link, the Collabora app no longer works on my local IP or through my domain.

buongiorno @Gianmarco_S welcome to the community :waving_hand:

that doesn’t look right, the external IP shouldn’t be there → only domain name. Try removing that public IP.

Hello, thank you for your answer.
I have removed the string with public IP and restarted the environment.
The issue is still present, I can open the documents via local IP but not via cloud.mydomain.it

so to be clear, you have installed Nextcloud snap on your server. then you installed built-in CODE via the Nextcloud app store? but you have selected the option ā€œuse your own serverā€ā€¦ that seems odd?

I have installed Nextcloud office and Collabora CODE from the app store. I’m a bit confused on which setting i have to set in the local and domain instances. It worked fine since the upgrade from 29 to 30. :pensive_face:

PS: I’m a newbie and learning how it works

no problem, we all started at the beginning :smiley:

your screen shots are in italian and I don’t speak italian, so I’m working with memory here…but bear with me, I’m just running a fresh install to test your setup…

so this is what it should look like if you have built-in CODE correctly configured:

so you should chose the middle option…

then you should be able to pen a new document:

but, this method of installation is only for single users of small groups

I have attached screenshots in english. I found that when i access the cloud.mydomain.it with microsoft edge, i have error that the browser has been unable to connect to the Collabora server: https://192.168..

while if i use Firefox browser, it’s all green and not have errors but the issue of opening files is still present so I assume that is not a browser issue

this with Firefox

well that sounds great… obviously some browser issue then?

Unfortunately not. Also with other browsers and green fields, i can’t open documents with cloud.mydomain.it

yeah, but you’ve chosen the wrong option! according to your description you’re running ā€œbuilt-in CODEā€? You should chose the built-in server method and try that first.

When i select Built-in CODE via local IP

Using this setting, now i can’t open files also via local IP. To make it work again (only via local IP) i have to select ā€œuse your own serverā€ and put the link:

https://192.168../extra-apps/richdocumentscode/proxy.php?req=

and tick the box ā€œdisable certificate verificationā€

Hello
Today my snap auto-updated to 31.0.7

i cleared some cache/history/cookies on my computer and tried some options. The actual situation is this:

Nextcloud Office from my domain

Nextcloud Office from my internal IP

Now it’s all green but still can’t open documents from my domain, only via local IP

buongiorno @Gianmarco_S

please take a look at the snap wiki especially this section: Set overwrite-cli in Config-php

Hello
i have installed some missing packages with

sudo apt install fontconfig glibc-source

i setup in the config.php the line:
'overwrite.cli.url' => 'https://cloud.mydomain.it',

i added in the host file the line:
127.0.1.1 cloud.mydomain.it myhostname (double checked the name with hostname command)

done the steps 5a

restarted the environment but still not work

Hello @Gianmarco_S,

welcome to the Nextcloud community! :handshake:

the biggest problem in your setup is

you try to use local IP. with local IP there is no way to get public TLS certificate for your application. Without public TLS cert it is very hard to make TLS work (today). This is a general problem as TLS encryption using public TLS becomes kind of mandatory and you need deep technical understanding o overcome this problem. I would recommend you stop using IP addresses and switch to public FQDN, obtain public TLS cert and likely most of your problems disappear.

Hello @wwe
Thankyou for your answer

i already use a FQDN for my cloud and is: cloud.mydomain.it
and collabora doesn’t work with it but work only if i access via local IP

it obtain the SSL/TLS certificate with Let’s encrypt

this a very strong indication you configure something wrong. please review Collabora integration guide