我在通过 VMware 的 HTML 控制台 SDK 访问 VNC 控制台时遇到了挑战,非常希望得到一些指导。以下是我所做的工作以及遇到的问题的概述:
采取的步骤:
- 配置:我使用了 VMware 的 HTML 控制台 SDK,它涉及将 WebMKS 脚本加载到 HTML 页面中。此设置需要 jQuery、jQueryUI、访问 vCenter Server 和 ESXi 主机、本地 HTTP 服务器以及上述库。
- 遵循的程序:
- 下载并解压 HTML 控制台 SDK。
- 为控制台显示创建了一个 HTML 页面。
- 管理 vCenter Server 和 ESXi 主机的安全证书。
- 已获得 WebMKS 票证。
- 在函数中输入了 ESXi 主机 IP 和 VM 的 WebMKS 票证
wmks.connect
。 - 使用提供的 JavaScript 示例代码作为远程 HTML 控制台。
- 票证生成:我使用 Python 脚本连接到 vSphere 服务器、定位虚拟机并生成 MKS 票证。
当前设置和问题:
- 票证生成和VM控制台连接代码托管在服务器上(IP:xx.xxx.xxx.100)。
- 我正在尝试连接到位于 ESXi 主机(IP:xx.xxx.xxx.80)上并由 vSphere Client(IP:xx.xxx.xxx.81)管理的虚拟机(IP:xx.xxx.xxx.83)。
问题:我收到失败的 WebSocket 连接,错误为:“Web 套接字连接 wss://xx.xxx.xxx.80:902/ticket/tickerID 失败。” 也尝试了 443 端口
任何建议或指示都将不胜感激!另外,还有其他人遇到过类似的问题吗?
答案1
问题现已解决。该问题与我的 Python 脚本中以下行创建的票据有关
ticket = vm.AcquireMksTicket()
我用下面这行替换了上面这行。
ticket = vm.AcquireTicket(ticketType='webmks')
AcquireMksTicket 仅适用于非常旧的 vSphere 版本。