VMware Horizon – Failed to connect to the Connection Server – v2106 and Above!
I’ve seen this before!
Here’s an OLD error message with an entirely new fix!
“Failed to connect to the Connection Server”
I have been running into this issue for the past few years and always go to the locked.properties file on the VMware Horizon connection server for the fix.
I have been seeing this a lot when deploying the Horizon at clients lately. Failed to connect to the Connection Server. This is just straight hitting the VMware broker directly. No UAG or any other items in place. WHAT GIVES? Thankfully, this is a pretty simple issue to fix. It’s a well documented fix but […]
The fix involved adding in a checkOrigin=false line into the file and restarting the server. This fixed it almost every time until last night. Last night, I upgraded some Connection Broker servers to Horizon 8 version 2106 and this error popped up immediately. I thought it might have reset the locked.properties file but the checkOrigin=false line was still there. Very curious!
After reviewing the release notes for Horizon 8 version 2106, and it looks like CORS (Cross-Origin Resource Sharing) is now enabled by default. The standard fix of disabling the checking completely doesn’t seem to work and now you must explicitly list either the balancedHost or portalHost must be entered into the locked.properties file.
Armed with this knowledge, the fix is super easy. You edit the locked.properties file located on EACH connection server in c:\program files\vmware\VMware View\Server\sslgateway\conf and add either the VIP (balancedHost=vipname.vCloudInfo.com) OR the portalHost line which is just the broker name.
You can add unlimited numbers of portalHost entries into the file to cover all Broker servers or just add the ones local to the server you are working on.
Once you have edited the file, restart the Horizon services (or the entire server) and the issue will go away. You can read more about VMware’s implementation of CORS in this KB article.
Note that this issue only presented itself in the Google Chrome Browser which requires a more strict interpretation of the CORS standard. I did not have any issues pre-fix with Internet Explorer or Edge.