官方下载VMware HTML Console SDK和VMware HTML Console SDK Programming Guide 2.10,当然大家也可以使用从这里下载OpenH5Console打开里面的示例代码console.html!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 St...
官方下载VMware HTML Console SDK和VMware HTML Console SDK Programming Guide 2.10,当然大家也可以使用从这里下载OpenH5Console
打开里面的示例代码console.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>Console</title> </head> <body> <link rel="stylesheet" type="text/css" href="wmks-all.css" /> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jquery-ui.min.js"></script> <script type="text/javascript" src="wmks.min.js"></script> <div id="wmksContainer" style="position:absolute;width:100%;height:100%"></div> <script> var wmks = WMKS.createWMKS("wmksContainer",{}) .register(WMKS.CONST.Events.CONNECTION_STATE_CHANGE, function(event,data){ if(data.state == WMKS.CONST.ConnectionState.CONNECTED) { console.log("connection state change : connected"); } });wmks.connect("wss://10.200.108.91:443/ticket/368c0616102e1c58"); </script> </body> </html>
1、连接VM时使用的是vmks.connect(url)方法
该url的格式为:
<ws|wss>://<host:port>/<path>/<?authentication info>
ws是websocket的简称,WSS是 Web Socket Secure 的简称, 它是 WebSocket 的加密版本,SSL 是基础, 在 SSL 上运行 WebSocket 协议就是 WSS; 在 SSL 上运行 HTTP 协议就是 HTTPS,具体参考WSS、SSL 和 https 之间的关系。
2、获取Ticket
很多人在这里卡住了,不是因为没有获取到ticket,而是因为获取的ticket类型不对。目前知道vcenter有三种类型的ticket(6.X),包括mksTicket、webmks Ticket、CloneSession Ticket。t经过验证,只能使用webmks Ticket,获取方法有很多种,我说两种
2.1 通过vcenter网页获取:
依次是: 浏览 vSphere 管理的对象--content--rootFolder--childEntity--datastore--vm2.2 通过VMware PowerCLI获取:
需要下载安装VMware PowerCLI,然后依次执行如下命令
$VCenter = "vc的FQDN" Connect-VIServer $VCenter -User administrator@vsphere.local -Password vc密码 $Vm = Get-VM VM名字 $Ticket = $Vm.ExtensionData.AcquireTicket("webmks") $ESXHost = $Ticket.host $TicketNumber = $Ticket.ticket
执行完成之后,再次输入$TicketNumber,就是需要的认证信息了。
将以上获取的ticket信息,放入console.html,然后双击就能打开控制台了。
3、有几个问题需要注意:
3.1 如果使用的wss的话,因为证书未安装,网页可能会没有反应。
这是因为需要信任证书,可以直接在浏览器输入https://<host:port>,然后添加信任例外就能解决。或者先安装对应的证书,再重新生成ticket进行连接
3.2 修改ESXi配置,使其支持ws方式,这样就没有证书验证的问题了
默认ESXi支持ws方式,但80端口给重定向到443端口了,所以需要把重定向去掉,具体步骤是:
1 Log in to the ESXi Shell as a user with administrator privileges.
2 Change to the /etc/vmware/rhttpproxy/endpoints/conf directory.
3 Use a text editor to open the endpoints.conf file.
4 Change the security settings as required
allow - Allow HTTP access.
redirect – If the Endpoint address is a local port, then the client is redirected to 443. If the Endpoint address is a remote host, then the client is redirected to that host.
reject - No HTTP access
只需要修改type为ticket的即可,改为allow,具体参考vsphere-esxi-vcenter-server-55-security-guide
然后重启rhttpproxy服务:
/etc/init.d/rhttpproxy restart
3.3 其实解决证书问题还可以通过Nginx
将https数据,输出为http的,
将https数据,输出为https的,然后为Nginx颁发信任证书,或添加信任
这个待第3篇里说。
参考:
Showing Web Console of a VM via vSphere HTML Console SDK - Samples
WebMKS SDK 2.0 non-minified wmks.js
本文标题为:验证使用VMware HTML Console SDK--Nginx集成Vcenter 6.X HTML Console系列之 2--(共4)
- 【vue】v-for倒序显示/JSON数据倒序 2023-10-08
- Vue中Element-UI日历无法缩小的问题 2023-10-08
- Ajax实现页面无刷新留言效果 2023-02-23
- ajax实现分页和分页查询 2023-01-31
- Javascript File和Blob详解 2023-08-08
- CSS:自定多姿多彩的网页链接下划线 2022-10-16
- 深入浅析Nginx实现AJAX跨域请求问题 2023-01-20
- VScode自动生成HTML的含义 2023-10-27
- 关于 vuejs2:\\”TypeError: Cannot read property \\ 2022-09-15
- 使用Ajax进行文件与其他参数的上传功能(java开发) 2023-01-26