我正在尝试实现鳄梨酱(通过浏览器远程连接到电脑)但是当尝试通过互联网连接时,出现以下错误:
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,这意味着性能低下。
在我看来,这是由我设置的额外代理造成的,以便从外部访问该站点。
这是设置:
端口 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/