代理服务器后面的 16.04 上的 Slack 桌面客户端

Jam*_*mes 5 proxy squid websocket slack

我正在尝试在 Websense 内容网关 (WCG) 代理后面使用适用于 Ubuntu 16.04 的 Slack 桌面客户端。它不会连接。笔记:

  • Windows 工作站通过 WCG 代理与适用于 Windows 的 Slack 客户端一起工作。
  • 基于浏览器的客户端在 Ubuntu 16.04 上运行,包括测试站点 ( https://slack.com/help/test ),使用 Firefox
  • SSL 解密(有目的的 MitM)在 WCG 上启用,但对所有 slack 站点禁用。(*.slack.com *.slack-msgs.com *slack-files.com *slack-imgs.com *slack-edge.com *slack-core.com *slack-redir.net)
  • 所有 slack 站点(如上所列)都在 WCG 中列入白名单,并在 WCG 控制台/日志中显示为允许。
  • 在 Unity 网络设置、设置配置文件(例如 https_proxy)和 Firefox 浏览器配置中启用代理。
  • netstat -a 显示所有指向代理服务器的出站连接并且没有直接尝试(尽管网络防火墙无论如何都没有阻止 https)。
  • Slack 日志中的显着错误是:

    warn: WebSocket connection to 'wss://mpmulti-s3to.slack-msgs.com/?lots_of_redacted_parameters' failed: WebSocket is closed before the connection is established.
    
    Run Code Online (Sandbox Code Playgroud)

Jam*_*mes 11

在“网络设置”面板中设置代理配置时,将 socks 代理留空。一旦您进入socks 代理,websockets(例如wss://...)将使用socks 而不是http/s...代理,然后失败。

我不确定这是 websockets 的基本问题还是 Ubuntu 的代理设置实现的问题。如果您在 Firefox 中手动配置代理服务器(而不是“使用系统设置”),则 websockets 工作。Windows/IE 也没有这个问题。所以这让我觉得 Ubuntu 对代理设置的实现要么不正确,要么不太宽容。