Websocket连接失败:在收到握手响应之前连接已关闭

时间:2018-09-14 07:56:54

标签: apache websocket proxy reverse-proxy

我正在尝试实现鳄梨调味酱(通过浏览器与PC的远程连接),但是当尝试通过Internet连接时,出现以下错误:

  

无法加载资源:服务器的响应状态为429   (请求太多)

  

app.js?v = 0.9.13-incubating:129 WebSocket连接到   “WSS://remote.company.com/guacamole/websocket-tunnel标记= E8577744842BFA261785C52CAA309CBC6FC5DBE262E7508FF6F49C1821AB6F58&GUAC_DATA_SOURCE = MySQL的&GUAC_ID = 1&GUAC_TYPE = C&GUAC_WIDTH = 917&GUAC_HEIGHT = 922&GUAC_DPI = 110&GUAC_AUDIO =音频%2FL8&GUAC_AUDIO =音频%2FL16&GUAC_IMAGE =图像%2Fjpeg&GUAC_IMAGE =图像%2Fpng&GUAC_IMAGE =图像%2Fwebp'   失败:在收到握手响应之前连接已关闭

因此无法建立网络套接字连接,并且所有内容都通过HTTP传输,这意味着性能降低。

我认为,这是由于我设置了一个额外的代理,以便从外部访问该网站。

这是设置:

url:https://remote.company.com

端口443已转发到防火墙:代理从remote.company.com到<IP ADDRESS guacamole server:8080> 在Apache vhost中,我具有以下代理来建立websocket隧道:

<Location /guacamole/>
    Order allow,deny
    Allow from all
    ProxyPass http://localhost:8080/guacamole/ flushpackets=on
    ProxyPassReverse http://localhost:8080/guacamole/
</Location>

<Location /guacamole/websocket-tunnel>
    Order allow,deny
    Allow from all
    ProxyPass ws://localhost:8080/guacamole/websocket-tunnel
    ProxyPassReverse ws://localhost:8080/guacamole/websocket-tunnel
</Location>

全部根据documentation 为了建立websocket隧道,我需要更改什么?

1 个答案:

答案 0 :(得分:0)

我在您的配置中看到的一切似乎都还不错。请检查您的配置是否具有以下内容:

  • Apache> = 2.4.5
  • 启用了mod_proxy_wstunnel

这就是我的计算机LoadModule proxy_wstunnel_module libexec/apache2/mod_proxy_wstunnel.so

中的显示方式