Skip to content

Websocket connection fails on Version 26 and newer running in Docker #15918

Description

@arnowelzel

Describe the Bug

When I upgrade my Docker container to collabora/code:latest or collabora/code:26.04.1.3.1, web socket connections fail. As soon as I downgrade to collabora/code:25.04.10.3.1 it works again.

Steps to Reproduce

  1. Start a container using the following command:
docker run -t -d --name="collabora" -p 127.0.0.1:9980:9980 \
  --privileged \
  -e "extra_params=--o:ssl.enable=false --o:ssl.termination=true" \
  -e "domain=nextcloud.domain.example" \
  -e "username=xxx" \
  -e "password=xxx" \
  -e "aliasgroup1=https://nextcloud.domain.example:443" \
  --restart always collabora/code:25.04.10.3.1
  1. Set up a proxy as documented in https://sdk.collaboraonline.com/docs/installation/Proxy_settings.html
  2. See Collabora working fine.
  3. Upgrade the container to the version collabora/code:26.04.1.3.1 or collabora/code:latest
  4. See that websocket connections fail and documents can not be edited any longer

Expected Behavior

Version 26.04.1.3.1 work as expected.

Actual Behavior

Version 26.04.1.3.1 or newer don't work.

Screenshots

Screenshot when trying to open a document with collabora/code:26.04.1.3.1 or collabora/code:latest:

Image

Desktop

Happens with all tested browsers (Firefox, Chrome, Vivaldi, Safari) and all tested operating systems (Windows, Linux, macOS)

Smartphone

Happens with all tested systems (Android, iOS).

Additional Context

The Docker log when the problem occurs:

wsd-00001-00058 2026-06-07 14:20:51.962500 [ websrv_poll ] ERR  #51: Bad request: GET HTTP/1.1 /cool/ws?WOPISrc=https%3A%2F%2Fnextcloud.domain.example%2Findex.php%2Fapps%2Frichdocuments%2Fwopi%2Ffiles%2F2262232_ocwm6eo1ism9&access_token=L5S8wma0cs4RIaJZljqNPSDYCyUFt7CB&access_token_ttl=0&no_auth_header=, content-length: -1, chunked: false, Host: coolwsd.domain.example / User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:151.0) Gecko/20100101 Firefox/151.0 / Accept: */* / Accept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7 / Accept-Encoding: gzip, deflate, br, zstd / Sec-WebSocket-Version: 13 / Origin: https://coolwsd.domain.example / Sec-WebSocket-Extensions: permessage-deflate / Sec-WebSocket-Key: 4Yun5eI3vNr41hgm5dUlHA== / Sec-Fetch-Dest: empty / Sec-Fetch-Mode: websocket / Sec-Fetch-Site: same-origin / Pragma: no-cache / Cache-Control: no-cache / X-Forwarded-For: 2003:ec:d746:1800:1a24:1307:922f:d8a7 / X-Forwarded-Host: coolwsd.domain.example / X-Forwarded-Server: coolwsd.domain.example / Connection: Keep-Alive, closeConnection: false, socket-data: [GET /cool/ws?WOPISrc=https%3A%2F%2Fnextcloud.domain.example%2Findex.php%2Fapps%2Frichdocuments%2Fw...]: Invalid or unknown request.|wsd/ClientRequestDispatcher.cpp:1401DYCyUFt7CB&access_token_ttl=0&no_auth_header= HTTP/1.1
wsd-00001-00058 2026-06-07 14:20:54.074612 [ websrv_poll ] ERR  #36: Bad request: GET HTTP/1.1 /cool/ws?WOPISrc=https%3A%2F%2Fnextcloud.domain.example%2Findex.php%2Fapps%2Frichdocuments%2Fwopi%2Ffiles%2F2262232_ocwm6eo1ism9&access_token=L5S8wma0cs4RIaJZljqNPSDYCyUFt7CB&access_token_ttl=0&permission=edit, content-length: -1, chunked: false, Host: coolwsd.domain.example / User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:151.0) Gecko/20100101 Firefox/151.0 / Accept: */* / Accept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7 / Accept-Encoding: gzip, deflate, br, zstd / Sec-WebSocket-Version: 13 / Origin: https://coolwsd.domain.example / Sec-WebSocket-Extensions: permessage-deflate / Sec-WebSocket-Key: Tk9/tT5zhtjM9bvGmZ7ldw== / Sec-Fetch-Dest: empty / Sec-Fetch-Mode: websocket / Sec-Fetch-Site: same-origin / Pragma: no-cache / Cache-Control: no-cache / X-Forwarded-For: 2003:ec:d746:1800:1a24:1307:922f:d8a7 / X-Forwarded-Host: coolwsd.domain.example / X-Forwarded-Server: coolwsd.domain.example / Connection: Keep-Alive, closeConnection: false, socket-data: [GET /cool/ws?WOPISrc=https%3A%2F%2Fnextcloud.domain.example%2Findex.php%2Fapps%2Frichdocuments%2Fw...]: Invalid or unknown request.|wsd/ClientRequestDispatcher.cpp:1401DYCyUFt7CB&access_token_ttl=0&permission=edit HTTP/1.1
wsd-00001-00058 2026-06-07 14:20:57.209702 [ websrv_poll ] ERR  #36: Bad request: GET HTTP/1.1 /cool/ws?WOPISrc=https%3A%2F%2Fnextcloud.domain.example%2Findex.php%2Fapps%2Frichdocuments%2Fwopi%2Ffiles%2F2262232_ocwm6eo1ism9&access_token=L5S8wma0cs4RIaJZljqNPSDYCyUFt7CB&access_token_ttl=0&permission=edit, content-length: -1, chunked: false, Host: coolwsd.domain.example / User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:151.0) Gecko/20100101 Firefox/151.0 / Accept: */* / Accept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7 / Accept-Encoding: gzip, deflate, br, zstd / Sec-WebSocket-Version: 13 / Origin: https://coolwsd.domain.example / Sec-WebSocket-Extensions: permessage-deflate / Sec-WebSocket-Key: CgBpBnmxIQB25E4EXWt2AQ== / Sec-Fetch-Dest: empty / Sec-Fetch-Mode: websocket / Sec-Fetch-Site: same-origin / Pragma: no-cache / Cache-Control: no-cache / X-Forwarded-For: 2003:ec:d746:1800:1a24:1307:922f:d8a7 / X-Forwarded-Host: coolwsd.domain.example / X-Forwarded-Server: coolwsd.domain.example / Connection: Keep-Alive, closeConnection: false, socket-data: [GET /cool/ws?WOPISrc=https%3A%2F%2Fnextcloud.domain.example%2Findex.php%2Fapps%2Frichdocuments%2Fw...]: Invalid or unknown request.|wsd/ClientRequestDispatcher.cpp:1401DYCyUFt7CB&access_token_ttl=0&permission=edit HTTP/1.1
wsd-00001-00058 2026-06-07 14:21:01.942150 [ websrv_poll ] ERR  #36: Bad request: GET HTTP/1.1 /cool/ws?WOPISrc=https%3A%2F%2Fnextcloud.domain.example%2Findex.php%2Fapps%2Frichdocuments%2Fwopi%2Ffiles%2F2262232_ocwm6eo1ism9&access_token=L5S8wma0cs4RIaJZljqNPSDYCyUFt7CB&access_token_ttl=0&permission=edit, content-length: -1, chunked: false, Host: coolwsd.domain.example / User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:151.0) Gecko/20100101 Firefox/151.0 / Accept: */* / Accept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7 / Accept-Encoding: gzip, deflate, br, zstd / Sec-WebSocket-Version: 13 / Origin: https://coolwsd.domain.example / Sec-WebSocket-Extensions: permessage-deflate / Sec-WebSocket-Key: sLvoZuxlvR0uPhlwpqyJxw== / Sec-Fetch-Dest: empty / Sec-Fetch-Mode: websocket / Sec-Fetch-Site: same-origin / Pragma: no-cache / Cache-Control: no-cache / X-Forwarded-For: 2003:ec:d746:1800:1a24:1307:922f:d8a7 / X-Forwarded-Host: coolwsd.domain.example / X-Forwarded-Server: coolwsd.domain.example / Connection: Keep-Alive, closeConnection: false, socket-data: [GET /cool/ws?WOPISrc=https%3A%2F%2Fnextcloud.domain.example%2Findex.php%2Fapps%2Frichdocuments%2Fw...]: Invalid or unknown request.|wsd/ClientRequestDispatcher.cpp:1401DYCyUFt7CB&access_token_ttl=0&permission=edit HTTP/1.1
wsd-00001-00058 2026-06-07 14:21:08.992033 [ websrv_poll ] ERR  #36: Bad request: GET HTTP/1.1 /cool/ws?WOPISrc=https%3A%2F%2Fnextcloud.domain.example%2Findex.php%2Fapps%2Frichdocuments%2Fwopi%2Ffiles%2F2262232_ocwm6eo1ism9&access_token=L5S8wma0cs4RIaJZljqNPSDYCyUFt7CB&access_token_ttl=0&permission=edit, content-length: -1, chunked: false, Host: coolwsd.domain.example / User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:151.0) Gecko/20100101 Firefox/151.0 / Accept: */* / Accept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7 / Accept-Encoding: gzip, deflate, br, zstd / Sec-WebSocket-Version: 13 / Origin: https://coolwsd.domain.example / Sec-WebSocket-Extensions: permessage-deflate / Sec-WebSocket-Key: fbLMX4SrD0DQ++kRPHHbBg== / Sec-Fetch-Dest: empty / Sec-Fetch-Mode: websocket / Sec-Fetch-Site: same-origin / Pragma: no-cache / Cache-Control: no-cache / X-Forwarded-For: 2003:ec:d746:1800:1a24:1307:922f:d8a7 / X-Forwarded-Host: coolwsd.domain.example / X-Forwarded-Server: coolwsd.domain.example / Connection: Keep-Alive, closeConnection: false, socket-data: [GET /cool/ws?WOPISrc=https%3A%2F%2Fnextcloud.domain.example%2Findex.php%2Fapps%2Frichdocuments%2Fw...]: Invalid or unknown request.|wsd/ClientRequestDispatcher.cpp:1401DYCyUFt7CB&access_token_ttl=0&permission=edit HTTP/1.1

Metadata

Metadata

Assignees

Labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

Status
Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions