Home > vSphere API > How to Use HTTP with vSphere Client?

How to Use HTTP with vSphere Client?

April 16th, 2010 Leave a comment Go to comments

If you have viewed the video about Onyx by Carter Shanklin (@cshanklin), you may have noticed a little trick with the vSphere Client.

Normally on the login dialog box, you enter a hostname or IP address. By default, the vSphere Client use HTTPS to communicate with the server. That means you cannot easily see what’s passed back and forth on the wire. As shown in the Onyx video, Carter showed how to use HTTP instead of the default HTTPS with the following in the IP Address / Name field:

Lost VMs or Containers? Too Many Consoles? Too Slow GUI? Time to learn how to "Google" and manage your VMware and clouds in a fast and secure HTML5 App.

http://localhost:1545

So the vSphere Client does support HTTP. In Onyx case, it points to localhost on which the Onyx is installed. You can actually point to a real vCenter or ESX/ESXi server directly – just change the localhost to the IP address of the server and the port to the default port 80 or remove the port part.

Before connecting the server, you need to change the server a bit for it to support HTTP. 

vCenter Server

  1. Log in to the vCenter Server system as the Windows Administrator of the machine.
  2. Go to the directory containing the proxy.xml file:
    c:\Documents and Settings\AllUsers\Application Data\VMware VirtualCenter
  3. Use a text editor like Notepad to open the proxy.xml file.
  4. Find the section of the file associated with the /sdk.
  5. Change the accessMode to httpAndHttps.
  6. Restart the service from a command line or from the Windows Services control panel.

ESX

  1. Log in to the service console as the root user.
  2. Change directories to /etc/vmware/hostd.
  3. Use a text editor to open the proxy.xml file.
  4. Navigate to the list of endpoints in the file (identified by the <EndpointList> tag) that contains settings for the Web service supporting the SDK. The nested tags may look something like this:
...
<e id=”1”>
<_type>vim.ProxyService.NamedPipeServiceSpec</_type>
<accessMode>httpsWithRedirect</accessMode>
<pipeName>/var/run/vmware/proxy-sdk</pipeName>
<serverNamespace>/sdk</serverNamespace>
</e>
...
  1. Change the accessMode to httpAndHttps. Alternatively, to completely disable HTTPS, you can set to httpOnly.
  2. (Optional) Change the setting for the MOB as well.
  3. Save your settings and close the file.
  4. Restart the vmware-hostd process by entering the following command:
service mgmt-vmware restart

Although you can do with HTTP instead of HTTPS, you don’t want HTTP in your production environment. In the development and testing environment, however, you can try this trick with tools like TcpMon, Wireshark to intercept all the messages between the vSphere Client and either ESX or vCenter. It can be of great help to you even you have Onyx today.

Update: LucD(@lucd22) has a nice blog on Onyx alternative using Microsoft Tool Fiddler2 here.

Categories: vSphere API Tags: , ,
  1. No comments yet.
  1. No trackbacks yet.