apache - Websocket 连接失败 : connection closed before receiving a handshake response

标签 apache websocket proxy reverse-proxy

我正在尝试实现鳄梨酱(通过浏览器远程连接到电脑)但是当尝试通过互联网连接时,出现以下错误:

Failed to load resource: the server responded with a status of 429 (Too Many Requests)

&

app.js?v=0.9.13-incubating:129 WebSocket connection to 'wss://remote.company.com/guacamole/websocket-tunnel?token=E8577744842BFA261785C52CAA309CBC6FC5DBE262E7508FF6F49C1821AB6F58&GUAC_DATA_SOURCE=mysql&GUAC_ID=1&GUAC_TYPE=c&GUAC_WIDTH=917&GUAC_HEIGHT=922&GUAC_DPI=110&GUAC_AUDIO=audio%2FL8&GUAC_AUDIO=audio%2FL16&GUAC_IMAGE=image%2Fjpeg&GUAC_IMAGE=image%2Fpng&GUAC_IMAGE=image%2Fwebp' failed: Connection closed before receiving a handshake response

因此无法建立 websocket 连接,一切都通过 HTTP,这意味着性能低下。

在我看来,这是由我设置的额外代理造成的,以便从外部访问该站点。

这是设置:

网址:https://remote.company.com

端口 443 被转发到防火墙:从 remote.company.com 到 <IP ADDRESS guacamole server:8080> 的代理 在 Apache 虚拟主机中,我有以下代理来建立 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 隧道?

最佳答案

正如我在您的配置中看到的那样,一切似乎都正常。请检查你的配置是否有这个:

  • Apache >= 2.4.5
  • 启用mod_proxy_wstunnel

这就是我的电脑 LoadModule proxy_wstunnel_module libexec/apache2/mod_proxy_wstunnel.so

关于apache - Websocket 连接失败 : connection closed before receiving a handshake response,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52327424/

相关文章:

stream - 远程视频流无法与 WebRTC 配合使用

与 Chrome 14+ 和 Safari 兼容的 node.js WebSocket 服务器?

java - tomcat 上的 JVM 代理参数出现间歇性 503 问题

mysql - 基于DNS的反向代理多个mysql主机

apache - .htaccess 中的多个 mod_rewrite 规则

php - 使用 .htaccess 在 php 中实现干净的 url

php - 在同一应用程序中使用 JSP 和 PHP

java - Apache Hadoop 2.0中的Map Reduce作业

javascript - 使用命名空间时 Socket.io 客户端忽略端口 [错误?]

javascript - 使用 Tor api 制作匿名代理服务器