ESXi Host Unresponsive and Error 404 not found

If you come across below errors and behaviors, there is a great possibility of having a corrupted Proxy endpoint configuration file. So, will look at how we can remediate all those issues with a simple workaround. 

  • Accessing ESXi host using the web interface (https://esxihost/ui) shows Error 404 not found.
  • ESXi host shows Not Responding
  • Cannot manage the hosted VMs

Below is the list of steps that are required in fixing the issue (commands are in Bold Italic)

SSH into the host and take a backup of the endpoint configuration file

cp /etc/vmware/rhttpproxy/endpoints.conf /etc/vmware/rhttpproxy/Backup-endpoints.conf

Open the config file with VI editor and remove/add the below lines in the configuration file

  • Remove – /ui local 8308 redirect allow
  • Add/ha-nfc local 12001 allow allow

Then save and exit the Editor window. Help on VI

Typically, the configuration file will look like below

/      local 8309 redirect allow
/cgi-bin local 8303 redirect allow
/client/clients.xml local 8309 allow allow
/fdm local 9089 reject allow
/folder local 8309 redirect allow
/guestFile local 8309 redirect allow
/ha-nfc local 12001 allow allow
/host local 8309 redirect allow
/mob namedpipe /var/run/vmware/proxy-mob redirect allow
/mobfdm local 9090 redirect allow
/nfc local 12000 allow allow
/screen local 8309 redirect allow
/sdk local 8307 redirect allow
/sdkTunnel namedpipetunnel /var/run/vmware/proxy-sdk-tunnel allow reject
/ticket tickettunnel /var/run/vmware/ticket/%1 redirect allow
/tmp local 8309 redirect allow
/vpxa local 8089 reject allow
/vsan local 9096 redirect allow
/vsanperf localtunnel 9095 allow reject
/vvold local 8090 allow allow
/wsman local 8889 redirect allow

Finally, restart both Hostd and Web proxy services

  • /etc/init.d/hostd restart
  • /etc/init.d/rhttpproxy restart

Testing VMkernel network connectivity using vmkping

As we all know vmkernel adapters are critical when working with storage and  vmotion networks. Normally these networks are isolated from each other. So we can not rely only with the “ping” command. In that case, we should be able to ping from the specific adapter (ex: if storage related, need to use the specified vmkernel adapter [vmkX] to ping the storage system).

Will look at the steps,

Step 01 : SSH into the esxi host.

Step 02 : Identify the correct/relevant vmk, that has been mapped/assigned.

Step 03: Run the command in this format [vmkping -I vmkX x.x.x.x]

vmkis denoted by the vmkernel adapter number / x.x.x.x is denoted by the destination IP address.