Collabora's websocket not answers

Dear Community,
Let me add a curious question. I’ve tried to configure collabora (https://docs.example.com) and nextcloud (https://cloud.example.com) behind a reverse proxy with the default (recommended) apache settings. Collabora (with disabled ssl) and Nextcloud (with disabled ssl) on SERVER1 and the reverse proxy with SSL on SERVER2 within the LAN, It seems, that more-or-less it is working: coolwsd config is updated by the docker environment variables/extra_params (ssl.enable=false, ssl.termination=true), the HTTPS (h2) request are served correctly: (/browser, /hosting/discovery, etc. are OK) and apache2 also does not decode slashes according to the guide. (nextcloud and collabora dockers are in the same docker-subnetwork but the and DNS resolver (8.8.8.8) is specified and it is outside of the whole network as well as the DNS server to make sure it is not relevant.)

Unfortunatelly, the collabora (version 22 and 23 tried) does not answers to websocket ws(s):// requests. the requests are arrives, and an additional error message prints in the logs, and there is no answer to the request and it will timeout (without timeout/any returned html error) as seen with 0 length:

Meanwhile, the request is arrived:

The behavior is the same for the admin interface: the gui elements started to load, but after the wss:// request it fails with similar error.
I’ve already tried to hexify the url, also tried to delegate the ssl to the docker containers (instead of the proxy handles) but the same happened: https request are correctly served, but wss are not.

I’ve really out of ideas how to trigger the websocket to return valid answer. - (I’m also interested another manual/cli methods as well, since libcurl is packed without ws support both on nextcloud and collabora images )

(as in the recommendation the /cool redirect rule is after the ws rule as seen below):

 ProxyPassMatch      "/cool/(.*)/ws$" ws://<REDACTED iP of SERVER1>:9980/cool/$1/ws nocanon
 ProxyPass           /cool/adminws ws://<REDACTED iP of SERVER1>:9980/cool/adminws
 ProxyPass           /cool http://<REDACTED iP of SERVER1>:9980/cool
 ProxyPassReverse    /cool http://<REDACTED iP of SERVER1>:9980/cool

Any help would be appreciated, to decide it is a config or sw issue.
Thank’s

1 Like

Well, After narrowed down the apache2 reverse proxy config according to the documentation, it turned out some unintentional garbage characters were contained in my virtualhost config.
Just for further reference:

1 Like