Ubuntu – Slack desktop client on 16.04 behind proxy server

PROXYslacksquidwebsocket

I am trying to use the Slack desktop client for Ubuntu 16.04 behind a Websense Content Gateway (WCG) proxy. It will not connect. Notes:

  • Windows workstations work with Slack client for Windows through the WCG proxy.
  • Browser-based client works on Ubuntu 16.04, including the test site (https://slack.com/help/test), using Firefox
  • SSL Decryption (purposeful MitM) is enabled on WCG but disabled for all slack sites. (*.slack.com *.slack-msgs.com *slack-files.com *slack-imgs.com *slack-edge.com *slack-core.com *slack-redir.net)
  • All slack sites (listed above) are whitelisted in WCG and showing permitted in WCG console/logs.
  • proxy enabled in Unity network settings, set profile (e.g. https_proxy), and in Firefox browser config.
  • netstat -a shows all outbound connections heading to the proxy server and no direct attempts (although the network firewall is not blocking https anyway).
  • Notable error in Slack logs is:

    warn: WebSocket connection to 'wss://mpmulti-s3to.slack-msgs.com/?lots_of_redacted_parameters' failed: WebSocket is closed before the connection is established.
    

Best Answer

When setting up the proxy config in the Network Settings panel, leave the socks proxy blank. Once you enter a socks proxy, websockets (e.g. wss://...) are proxied using socks instead of http/s...and then fail.

I'm not sure if this a fundamental issue with websockets or an issue with Ubuntu's implementation of proxy settings. If you manually configure a proxy server in firefox (instead of "use system settings") then websockets work. Windows/IE also doesn't have this issue. So it makes me think that Ubuntu's implementation of proxy settings is either incorrect or less forgiving.

Related Question