我正在尝试实现guacamole(通过浏览器远程连接到PC),但是当我尝试通过互联网连接时,我会遇到以下错误:
“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进行,这意味着性能较慢。
在我看来,这是由于我设置的额外代理导致的,以便从外部访问该站点。
以下是设置:
URL:https://remote.company.com 端口443转发到防火墙:从remote.company.com代理到
“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进行,这意味着性能较慢。
在我看来,这是由于我设置的额外代理导致的,以便从外部访问该站点。
以下是设置:
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>
根据文档所述, 我需要更改什么才能建立websocket隧道?