1、起因

最近公司项目有一个需求,需要实现novnc方式远程连接到服务器,之前没有做过类似的功能,听其他技术说可以自己搭一个novnc的server,搞一个websocket的请求代理,通过novnc的方式就可以实现,抱着试试的心态搭了一下,整个过程搭建下来用了不到10分钟就搞定了。

2、依赖软件列表及下载地址

  • UltraVNC_1_3_42_X64_Setup: https://uvnc.com/downloads/ultravnc.html
  • noVNC-master:https://github.com/novnc/noVNC/archive/master.zip
  • websockify-js:https://github.com/novnc/websockify-js
  • nodejs: https://nodejs.org/zh-cn/download/releases/

3、详细的安装过程

3.1 UltraVNC-Server安装

需要在远端的服务器上面安装 UltraVNC-Server服务,下载下来UltraVNC_1_3_42_X64_Setup.exe之后,双击安装,选择组件时默认选中这三个即可,下一步:


之后执行安装即可,如果不想使用默认安装路径,可以自定义安装到自己选择的系统目录下即可。

双击【UltraVNC Server】,任务栏右下角会出现天蓝色图标按钮
右键任务栏"小眼睛图标"打开菜单

点击【Admin Properties】打开配置连接的密码,连接的密码分为可操作的密码跟只看的密码
点击【apply】后,点击【OK】保存配置

点击【Start Service】并重启电脑。

3.2 novnc服务安装代理服务安装配置

websockify-js运行依赖于nodejs,这里需要先安装nodejs环境,nodejs的安装环境配置我有其他的博客介绍,这里不赘述,需要可以自行查找。

3.2.1 依赖模块安装

websockify.js运行依赖于一下这几个模块,需要先安装这些依赖模块, 我这里是直接在C:\Users\Administrator目录下安装的模块执行之后会在当前目录下生成node_modules目录,wsoptimistmime-types模块会自动安装到该目录下

npm install ws
npm install optimist
npm install mime-types

3.2.2 安装novnc

进入到C:\Users\Administrator\node_modules\目录下, 将下载的noVNC-master.zip压缩包解压到当前目录,重命名为noVNC

3.2.3 安装 websockify-js

进入到C:\Users\Administrator\node_modules\noVNC目录下, 将下载的websockify-js-master.zip压缩包解压到当前目录,重命名为websockify-js

3.3 运行代理服务

在运行代理服务之前,需要先确认vnc server服务是否正常运行,这个websockify-js的作用就是运行一个代理服务,代理本地的vnc-server服务。

进入到websockify.js所在的文件目录, 这个文件就在websockify-js解压目录下的的websockify\websockify.js目录下,
完整路径C:\Users\Administrator\node_modules\noVNC\websockify-js\websockify\websockify.js

进入到C:\Users\Administrator\node_modules\noVNC\websockify-js\websockify目录下, 打开命令行,启动代理服务,启动命令如下:

node websockify.js --web C:\Users\Administrator\node_modules\noVNC 9000 localhost:5900

对这个命令进行一下说明

  • –web:之后的路径必须是我们下载的noVNC-master.zip解压之后所在的那个安装了wsoptimistmime-types等依赖的node_modules目录的绝对路径,我这里是C:\Users\Administrator\node_modules\noVNC,这里需要根据你自己的实际安装情况进行修改,负责会找不到nvc.htmlvnc_lite.html文件
  • 9000 代表代理端口
  • 9000端口的请求转发到localhost:5900处理

启动正常之后如下:

3.4 浏览器远程访问

服务端已经配置好了,这里只需要知道远端服务器的Ip地址即可访问,
**注意:**这里需要注意,如果远程服务器开启了防火墙,需要开放远程服务器的9000端口, 否则无法访问。

在本地浏览器输入http://192.168.1.218:9000/vnc.html,这里需要将192.168.1.218更换成你自己的服务器IP地址或者域名,即可远程登录服务器。

输入我们的远程连接密码

远程登录服务器成功!!!

3.4 版本包分享百度云连接地址

百度网盘地址:https://pan.baidu.com/s/1LP-VuA3FRLmRk2N4CyQCOQ
提取码:2acu
需要自取哦~

3.5 问题解决

有朋友反馈, 为什么只能连接, 但是无法输入?

这个问题需要在server端进行配置
在右下角UltraVNC Server的图标上右键-选择【Admin Properties】,下拉【Advanced options】

在【Keyboard&Mouse】模块将【Disable Viewer inputs】和【Disable local inputs】前面的"√"去掉,保存并应用当前修改。

重启UltraVNC Server和noVNC服务即可, 这个一定要执行哈,否则不会生效~

web端通过novnc方式远程windows server环境搭建详解相关推荐

  1. windows server 2008 系统服务详解和优化配置

    服务名称 描述 最佳建议 第二建议 服务路径 .NET Runtime Optimization Service v2.0.50215_X86 对使用下一代技术编写的程序的运行提供优化.该服务的默认运 ...

  2. Angular4.0环境搭建详解--windows系统环境

    第一步:安装NodeJS 下载最新版的NodeJS并安装,安装完成后打开CMD命令行,输入以下命令: node -v 若返回类似版本号则代表NodeJS安装成功,如下: 第二部 安装npm 新版的No ...

  3. vulhub靶场搭建+docker环境搭建详解(最稳定方式)

    安装vulhub靶场,首先到其官网下载,也可以直接拉去,我是下载通过xshell上传的,主要是docker环境很麻烦 这里我建议直接离线安装,在线安装有各种乱七八糟问题,特别是安装docker-com ...

  4. c语言path环境变量,Windows下PATH等环境变量详解(转载)

    在学习JAVA的过程中,涉及到多个环境变量(environment variable)的概念,如PATH.正确地配置这些环境变量,是能够顺利学习.开发的前提.而经常出现的问题是:有的学习者能够按照提示 ...

  5. windows版本10.0.17134,安装最新补丁后无法远程windows server 2008、2013、2016服务器

    windows版本10.0.17134,安装最新补丁后无法远程windows server 2008.2013.2016服务器 报错信息如下:出现身份验证错误,要求的函数不受支持  可能是由于Cred ...

  6. @Windows server 2022 搭建 AD 域服务器

    文章目录 1.AD(Active Directory)Windows Server环境准备 2.配置AD环境 3.添加角色和功能 4.配置域控服务器 5.配置 AD 域 OU 和用户 6.Client ...

  7. 云服务器 ECS 配置:阿里云ECS Windows Server 2012 搭建AD

    阿里云ECS Windows Server 2012 搭建AD 简介 Active Directory(简称AD,即" 活动目录"的意思),是微软下面的核心组件,其主要优势是实现高 ...

  8. Windows server 2012 搭建×××图文教程(一)安装×××相关服务

    Windows server 2012 搭建×××图文教程(一)安装×××相关服务 Windows server 2012 搭建×××图文教程(二)配置路由和远程访问服务 Windows server ...

  9. Windows Server 2012 搭建Ftp服务器

    Windows Server 2012 搭建Ftp服务器 一.介绍 FTP全称是FileTransferProtocol的简称,是一种文件传输协议.它使用TCP进行传输,客户和服务器建立连接前需要进行 ...

最新文章

  1. 电子科大电气工程导师介绍绍_电子科技大学计算机科学与工程学院研究生导师介绍:葛树志...
  2. [HNOI2009]有趣的数列
  3. ahb总线协议主机_IIC协议学习笔记
  4. win7计算机双击空白,win7系统控制面板“打开或关闭Windows 功能”空白没有任何选项的解决方法...
  5. 怎样才能成为一名优秀的教师博客呢?
  6. leetcode题库:3.无重复字符的最长子串
  7. 【编辑器】Vim学习笔记
  8. CSS 标签权重判断的方式
  9. 大数据常用的五种主要数据挖掘技术
  10. 处理Windows快捷键占用冲突
  11. java 分布式日志_打造分布式日志收集系统
  12. 【转】本科生如何发表论文
  13. animation动画--跳动
  14. PaddleFL 1.2.0版本 使用docker镜像编译流程(Ubuntu 20.04)
  15. c语言字符码,C语言字符转ASII码
  16. Word标题格式、毕业论文格式、标题、引用目录
  17. request.getHeader、request.getHeaders、request.getHeaderNames
  18. 网格计算Grid Computing
  19. 可以将matlab安装到u盘吗,如何进行微软的office和matlab以及word等软件导入u盘
  20. 数字孪生相关概念阐述

热门文章

  1. 怎么样用python画一朵花_如何用程序绘制一朵花?
  2. 智能绘图工具AutoDraw使用教程
  3. linux htop 网络,linux网络命令之top、htop
  4. 我的世界服务器怎么弄自动钓鱼,我的世界自动钓鱼机制作教程 图文步骤详解...
  5. Linux快捷键之强制关闭
  6. 为什么很多初创互联网公司要组建自己的技术团队,而不是选择外包?
  7. 转置矩阵的循环实现 C++实现
  8. 【高低频融合网络:Pansharpening 】
  9. java 二维数组排序
  10. 关于C语言项目的一点心得体会