客户端VNC报错:未能连接15900。Nginx代理转发后,报错断开连接。

JumpServer 版本:ce-v4.10.14-x86_64
部署方式:Linux单机部署
运行方式:安装包
一句话总结:Web使用VNC连接资产正常,但是客户端使用VNC报错。疑似网络部署问题。
具体过程:
(以下Linux服务器均为CentOs7,且所有机器均处于内网,存在VPN)
部署JumpServer所在服务器为A,IP地址:A.B.C.D:80。
已配置VNC的linux资产为B(端口5901)。
Windows11 PC为C,我在C上通过TigerVNC直接访问B一切正常。
在C机器上,通过“A.B.C.D:80”网页访问A,进而通过JumpServer的Web访问B也一切正常。


但是通过JumpServer客户端VNC访问B时,迅速报错:未能连接到“A.B.C.D:15900":Unable to connect to socket:由于目标计算机积极拒绝,无法连接。(10061)
image

我使用Nginx代理,把15900代理 转发到80或者http://192.168.244.144(该处参考官方文档:后端 JumpServer nginx 的 ip端口),等待较长一段时间后,就出现了新的报错:在建立会话之前,服务器已断开连接。
image

所涉及到的Nginx反向代理官方文档: 反向代理 - JumpServer 文档

以下为官方文档的教程,解决了第一个报错,但还存在第二个报错,请各位专家大牛批评指正,万分感谢
vi /etc/nginx/conf.d/jumpserver.conf
server {

listen 80;
server_name demo.jumpserver.org;  # 自行修改成你的域名

client_max_body_size 4096m;  # 上传文件大小限制

location / {
        # 这里的 ip 是后端 JumpServer nginx 的 ip
        proxy_pass http://192.168.244.144;
        proxy_http_version 1.1;
        proxy_buffering off;
        proxy_request_buffering off;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $remote_addr;
}

}

  1. JumpServer 社区版暂不支持客户端通过 VNC 协议连接 Linux 资产,Web 端 VNC 连接由 Lion 组件支持,而客户端 VNC 连接依赖 Nec 组件,该组件为 JumpServer v4 企业版专属功能。
  2. 因此,客户端连接报错“Unable to connect to socket”及“服务器已断开连接”是由于社区版缺少 Nec 组件所致,Nginx 代理配置无法解决此根本问题。
  3. 建议:如需使用客户端 VNC 功能,请升级至 JumpServer 企业版。当前社区版用户建议通过 Web 端进行 VNC 访问。