I have read everything I could find regarding this topic (on this forum, on github and even on stackoverflow) and nothing helped me so far. Most of the problems are caused by reverse proxy configuration, but in my case there is no such thing. Mattermost listen directory to port
Some clients can not establish websocket connection behind corporation proxy and they don’t see new messages (fallback to AJAX doesn’t work). Users have to refresh the page in order to see new messages.
Steps to reproduce
Just use the web interface with the latest Chrome version behind that proxy. Unfortunately I also don’t have access to it.
Web interface should be able to use websocket (it works for other websites) or at least fallback to AJAX polling.
Logs are filled with errors like this:
[2017/12/04 15:21:03 UTC] [EROR] websocket connect err: websocket: not a websocket handshake: 'upgrade' token not found in 'Connection' header
[2017/12/04 15:21:03 UTC] [EROR] /api/v4/websocket:connect code=500 rid=zg3o4w4iyjdqfbbsnwozj57epc uid=bq55bpuup3nmpd658tqaij4agy ip=220.127.116.11 Failed to upgrade websocket connection [details: ]
screenshot: chrome console errors
screenshot: chrome network errors
Running Mattermost version
4.3.1 on Ubuntu with
nginx and no
apache in front of it). I have set “Site URL” to
Enable cross-origin requests from to
* (temporary). The mobile apps and even the web interface work as expected outside that firewall.
It happens for months now, and initially I gave up thinking that proxy doesn’t allow it. It might have started after an upgrade, but can’t tell which one. Today I realized that this wss test website works behind the same firewall and I think this is a Mattermost configuration/server issue.
- Do you think moving Mattermost behind nginx might solve the issue?
- How can I debug this further?