Overview
We recently upgraded vCloud Director (vCD) to version 5.5.2.1 and one of the features our users were interested in was using Google Chrome to access the VM consoles. KB article Supported browsers in VMware vCloud Director 5.5 list all of the supported browsers. The release note’s resolved issue section says:
Attempts to open a virtual machine console on Google Chrome fail
When you attempt to open a virtual machine console on a Google Chrome browser, the operation fails. The occurs due to the deprication of NPAPI in Google Chrome. vCD 5.5.2.1 uses WebMKS instead of the VMware Remote Console to open virtual machine consoles in Google Chrome, which resolves this issue.
Issue #1: Self-signed certificate for the consoleproxy
When this environment was set up a self-signed certificate was used for the vCloud Director consoleproxy interface, but the HTTP interface had a valid certificate. This works fine for non-Chrome browsers because they still use the vmrc plug-in to access the consoles and it seems that it doesn’t care about the self-signed certificate.
When I tried to open a VM console using Chrome, I’d receive:
When using a non-Chrome browser that uses the vmrc, you could go to the %temp%/vmware-%username% directory and look at the logs to determine why the connection failed. How do you check logs with the new WebMKS client? With the VM console window selected, you can open the Javascript console by pressing F12 or right-click in the window and select Inspect Element and select the Console tab:
You can ignore the fact that the console is viewable in the above screenshot. It was taken from when the console was working.
Here is the output when connecting to a VM console when the vCD console interface has a self-signed certificate:
You can see in red what looks like to be a certificate issue. At this point you can either reconfigure vCD’s console interface to use a valid certificate or import the self-signed certificate to your machine.
Issue #2: After fixing the certificate issue, consoles don’t respond to keyboard input
After assigning a valid certificate to the vCD console interface, the VM consoles now connected, but I noticed that I couldn’t interact with the consoles with a keyboard. Mouse input worked fine. Looking at the Javascript console logs showed:
I’m not sure what this means, but since the vSphere version in this environment was 5.0 and vCenter was just upgraded to 5.5 and the hosts were still at 5.0, I decided to upgrade a host to 5.5 and see if that resolved the issue. Fortunately, it did and now the consoles work in all supported browsers.
Life saver! This post helped me fix my issue where console would just stay disconnected. Turned out in my Public Addresses I had to put FQDN instead of IP and everything works fine now! Thanks a lot!