I followed the instructions at https://docs.nethserver.org/en/v7/collabora.html and have configured it in the same host: Nethserver, Nextcloud, Collabora. But can’t get rid of what it seems a simple host resolution problem.
The error messages
Users: Failed to load Collabora Online - please try again later✖
Admin log: GuzzleHttp\Exception\ConnectException: cURL error 6: Could not resolve host: collabora.mydomain Unknown error (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)
If I query the virtualhost dedicated to Collabora I get: [root@patoruzu]# config getprop loolwsd VirtualHost collabora.mydomain
I added collabora.mydomain at the Let’s Encrypt certificate too.
AFAIK Collabora is listening only at localhost, is that ok? 127.0.0.1:9980 0.0.0.0:* LISTEN 40665/loolwsd
As a test, I added manually “collabora” as a host in /etc/hosts but nothing changed.
Different underlying software. Collabora essentially runs a headless LibreOffice, so everything is done server-side. OnlyOffice, as I understand, runs much of the grunt-work in the browser. It’s therefore been reported that OnlyOffice is quite a bit more responsive.
This should not be necessary as it should be resolvable externally.
Just to be sure: This is a masked domainname and you are using a resolvable domain with valid cert (letsencrypt)?
I assume this should be /etc/loolwsd/loolwsd.xml
If not please move away, restart httpd and check if it works.
No it doesn’t, Nethserver/Nextcloud/Collabora server is inside our LAN and uses our internal DNS (which is not Nethserver)
We don’t have any problem accessing Nethserver neither Nextcloud from the Internet; only Collabora. We have internal and external DNSes and we use firewall and mod_proxy to redirect incoming web traffic for some internal services and projects.
I’m using a real FQDN with a valid letsencrypt certificate, the only difference is Nextcloud is configured in a directory of Nethserver while Collabora has it’s own virtual hostname, but all services are in the same hardware inside our LAN.
Nope, would a full description of the curl error log be of any help?
Could you use collabora in the local network? If yes you maybe need to change the VirtualHost to the external DNS name.
Does this work locally?
curl localhost:9980
Please share your config:
config show loolwsd
Yes, please also look into /var/log/messages.
There could be problems:
Collabora/Nextcloud asking wrong DNS server or it gives back internal name. You need to use the external name as you can use the external name internally but not the other way round.
If you use reverse proxy from a firewall to collabora, check that you reverse proxy all paths correctly
I put my answers to your questions below this message as I want to mention in first place some new findings.
New findings
The collaborahost resolves to the same IP than Nethserver and Nextcloud, but process ‘loolwsd’ is listening at localhost:9980. As the message was connection refused to https://collabora.mydomain:9980/hosting/discover (even from command line with curl) I managed to make it listen in every interface.
I am afraid it’s not working that way and it seems not supported (only local reverse proxy)
To make it work with reverse proxy not on same machine as collabora I read that you need to open the loolwsd port 9980 on the collabora machine, make it listen to all interfaces and enable SSL.
Then edit the collabora httpd config and point to https://collabora.mydomain:9980 or wss://collabora.mydomain:9980 instead of 127.0.0.1:9980.
I wasn’t able to get that working.
Here are the possibilities to reverse proxy collabora:
Here is a similar problem solved with opening ports and reverse proxying to https://collabora.mydomain:9980:
The problem is that Nethserver preconfigures Collabora for using a local reverse proxy (recommended) without SSL so you need custom templates and there’s also an action that sets to only listen to loopback.
As an alternative you may port forward HTTP/HTTPS from your firewall to your nextcloud/collabora machine and do the further reverse proxying there. This way you can leave the collabora/nextcloud machine unchanged.
Thanks a lot, I found your wiki page and tried the testing repo… I updated Collabora and the problem disappeared! I made no further configuration from yesterday! The only package that was updated this morning is python2-pyrfc3339, which seems has no relation to Collabora.
i have been facing challenges with a new collabora installation, where if i set 127.0.0.1:9980 the sever on nextcloud becomes online, but pages are not able to load.
when i set collabora.domain.tld its not online, yet i have specified the hostname.
i created a reverse proxy for the subdomain, an it comfirmed collabora online, but the pages are now loading blank when i try to create xls or docx documents