VMware Unified Access Gateway 20.09

Last Modified: Oct 1, 2020 @ 7:34 am


ūüí° = Recently Updated

Change Log


Unified Access Gateway provides remote connectivity to internal Horizon Agent machines. For an explanation of how this works (i.e. traffic flow), see Understanding Horizon Connections at VMware Tech Zone.

Unified Access Gateway (formerly known as Access Point) is a replacement for Horizon Security Servers. Advantages include:

  • You don’t need to build extra Connection Servers just for pairing.¬†However, you might want extra Horizon Connection Servers so you can filter pools based on tags.
  • Between Unified Access Gateway and Horizon Connection Servers you only need TCP 443. No need for IPSec or 4001 or the other ports. You still need 4172, 22443, etc. to the View Agents.
  • No need to enable Gateway/Tunnel on the internal Horizon Connection Servers.
  • Additional security with DMZ authentication.¬†Some of the Authentication methods supported on Unified Access Gateway are RSA SecurID, RADIUS, CAC/certificates, etc.


  • It’s Linux. You can deploy and configure the appliance without any Linux skills. But you might need some Linux skills during troubleshooting.

Horizon View Security Server has been removed from Horizon 2006 (aka Horizon 8).

More information at VMware Blog Post Technical Introduction to VMware Unified Access Gateway for Horizon Secure Remote Access.

Horizon Compatibility – Refer to the interoperability matrix to determine which version of Unified Access Gateway is compatible with your version of Horizon.

  • The latest version of UAG is 20.09, which is newer than version 3.10. Version 20.09 means September 2020. YouTube video VMware Unified Access Gateway 2009: What’s New. ūüí°

    • You usually want the Non-FIPS version.
    • Then download the PowerShell deployment scripts on the same UAG download page.
  • If you are running an ESB version of Horizon, then make sure you run the ESB version of Unified Access Gateway. Get it from the same page as your Horizon download.
    1. Use the Select Version drop-down to select the version of Horizon you have deployed.
    2. Then open the downloads for the edition that you are entitled to: Standard, Advanced, or Enterprise.
    3. Scroll down the page to see the Unified Access Gateway downloads. You usually want the Non-FIPS version.
    4. Then download the PowerShell deployment scripts on the same UAG download page.


VMware Technical White Paper Blast Extreme Display Protocol in Horizon 7, and Firewall Rules for DMZ-Based Unified Access Gateway Appliances at VMware Docs.

Open these ports from any device on the Internet to the Unified Access Gateway Load Balancer VIP:

  • TCP and UDP 443
  • TCP¬†and¬†UDP¬†4172.¬†UDP¬†4172¬†must¬†be¬†opened¬†in¬†both¬†directions. (PCoIP)
  • TCP and UDP 8443 (for HTML Blast)

Open these ports from the Unified Access Gateways to internal:

  • TCP 443 to internal Connection Servers (through a load balancer)
  • TCP and UDP 4172 (PCoIP) to all internal Horizon View Agents.¬†UDP 4172 must be opened in both directions.
  • TCP 32111 (USB Redirection) to all internal Horizon View Agents.
  • TCP and UDP 22443 (Blast Extreme) to all internal Horizon View Agents.
  • TCP 9427 (MMR and CDR) to all internal Horizon View Agents.

Open these ports from any internal administrator workstations to the Unified Access Gateway appliance IPs:

  • TCP 9443 (REST API)
  • TCP 80/443 (Edge Gateway)

Network Profile

Note: in Unified Access Gateway 3.3 and later, Network Protocol Profile is no longer necessary and you can skip this section.

  1. Before importing the Unified Access Gateway OVF, you will need to configure a Network Profile. In vSphere Web Client, go to the Datacenter object. On the right, switch to the Manage (or Configure) tab > Network Protocol Profiles.
  2. Click the plus icon.

  3. In the Select name and network page, enter a name, select the DMZ VM Network for your Unified Access Gateway appliance, and click Next.

  4. In the Configure IPv4 page, enter the subnet information, and Gateway.
  5. Don’t configure an IP pool. Click Next.
  6. In the Ready to complete page, click Finish.
  7. If you are configuring multiple NICs on your Unified Access Gateway, create Network Protocol Profile for the remaining subnets.

PowerShell Deploy Script

Mark Benson at VMware Communities Using PowerShell to Deploy VMware Unified Access Gateway has a PowerShell script that runs OVF Tool to deploy and configure Unified Access Gateway. The PowerShell script is updated as newer versions of Unified Access Gateways are released. This is the recommended method of deploying Unified Access Gateway.

If you prefer to use vSphere Client to Deploy the OVF file, skip ahead to Upgrade or Deploy.

In UAG and newer, the PowerShell deployment script is downloadable from the UAG download page.

The PowerShell deploy script requires the OVF Tool:

  1. Go to Open Virtualization Format Tool (ovftool) on VMware {code}.
  2. The latest release for vSphere 6.7 is 4.3.0 P02. Patch 2 is newer than Update 3. There’s also ovftool 4.4 for vSphere 7.
  3. Download the VMware OVF Tool for Windows 64-bit.
  4. If OVF Tool is already installed, then you’ll have to uninstall the old version before you can upgrade it.
  5. On the machine where you will run the UAG Deploy script, install VMware-ovftool-4.3.0-15755677-win.x86_64.msi.
  6. In the Welcome to the VMware OVF Tool Setup Wizard page, click Next.
  7. In the End-User License Agreement page, check the box next to I accept the terms and click Next.
  8. In the Destination Folder page, click Next.
  9. In the Ready to install VMware OVF Tool page, click Install.
  10. In the Completed the VMware OVF Tool Setup Wizard page, click Finish.

Create or Edit a UAG .ini configuration file:

  1. Extract the downloaded uagdeploy PowerShell scripts for your version of Unified Access Gateway.
  2. If you have an existing UAG appliance, then you can download an INI from the UAG Administrator page.

    • Or copy and edit one of the downloaded .ini files, like uag2-advanced.ini.
  3. A full explanation of all configuration settings can be found at Using PowerShell to Deploy VMware Unified Access Gateway at VMware Communities.
  4. For any value that has spaces, do not include quotes in the .ini file. The script adds the quotes automatically.
  5. The name setting specifies the name of the virtual machine in vCenter. If this VM name already exists in vCenter, then OVF Tool will delete the existing VM and replace it.
  6. Add a¬†uagName setting and specify a friendly name. You’ll later add this name to Horizon Console/Administrator so you can view the health of the UAG appliance in Horizon Console/Administrator.
  7. You can optionally enable SSH on the appliance by adding sshEnabled=true.
  8. For the source setting, enter the full path to the UAG .ova file.
  9. For the¬†target setting, leave PASSWORD in upper case. Don’t enter an actual password. OVF Tool will instead prompt you for the password.
  10. For the¬†target setting, specify a cluster name instead of a host. If spaces, there’s no need for quotes. For example:
    target=vi://admin@corp.local:PASSWORD@vcenter02.corp.local/Datacenter/host/Cluster 1
  11. Specify the exact datastore name for the UAG appliance.
  12. Optionally uncomment the diskMode setting.
  13. For a onenic configuration (recommended), set the netInternet, netManagementNetwork, and netBackendNetwork settings to the same port group name.
  14. Multiple dns servers are space delimited.
  15. For pfxCerts, UNC paths don’t work. Make sure you enter a local path (e.g. C:\). OVA Source File can be UNC, but the .pfx file must be local.
  16. There’s no need to enter the .pfx password in the .ini file since the uagdeploy.ps1 script will prompt you for the password.
  17. proxyDestinationUrl should point to the internal load balancer for the Horizon Connection Servers. If the DNS name ends in .local, then see 78611 DNS Related Troubleshooting With Unified Access Gateway 3.7 and newer which is based on Photon 3 and Roderik de Block VMware UAG not using DNS.
  18. For proxyDestinationUrlThumbprints, paste in the thumbprint of the Horizon Connection Server certificate in the format shown.
    • If your Horizon Connection Servers each have different certificates, then you can include multiple thumbprints (comma separated).
  19. Make sure there’s no hidden character between¬†sha1 and the beginning of the thumbprint.
  20. Change the ExternalUrl entries to an externally-resolvable DNS name and a public IP address. For multiple UAGs, the FQDNs and public IP address should resolve to the load balancer. Note: your load balancer must support persistence across multiple port numbers (443, 8443, 4172).

When you run the PowerShell script, if the UAG appliance already exists, then the PowerShell script will replace the existing appliance. There’s no need to power off the old appliance since the OVF tool will do that for you.

  1. Open an elevated PowerShell prompt.
  2. Paste in the path to the uagdeploy.ps1 file. If there are quotes around the path, then add a & to the beginning of the line so PowerShell executes the path instead of just echoing the string.
  3. Add the -iniFile argument and enter the path to the .ini file that you modified. Press <Enter> to run the script.
  4. You’ll be prompted to enter the root password for the UAG appliance. Make sure the password meets password complexity requirements.
  5. You’ll be prompted to enter the admin password for the UAG appliance. Make sure the password meets password complexity requirements.
  6. For CEIP, enter yes or no.
  7. For .pfx files, you’ll be prompted to enter the password for the .pfx file. Note: the .pfx file must be local, not UNC.
  8. OVF Tool will prompt you for the vCenter password. Special characters in the vCenter password must be encoded. Use a URL encoder tool (e.g. https://www.urlencoder.org/) to encode the password. Then paste the encoded password when prompted by the ovftool. The UAG passwords do not need encoding, but the vCenter password does.
  9. The deploy script will display the IP address of the powered on UAG appliance.
  10. Review settings in the UAG admin interface.
  11. Add the new UAG appliance to Horizon Console/Administrator.


To upgrade from an older appliance, you delete the old appliance, and import the new one. Before deleting the older appliance, export your settings:

  1. Login to the UAG at https://<Your_UAG_IP>:9443/admin/index.html.
  2. In the Configure Manually section, click Select.
  3. Scroll down to the Support Settings section, and then click the JSON button next to Export Unified Access Gateway Settings.


Horizon Compatibility – Refer to the interoperability matrix to determine which version of Unified Access Gateway is compatible with your version of Horizon.

  • The latest version of UAG is 20.09, which is newer than version 3.10. Version 20.09 means September 2020.

    • You usually want the Non-FIPS version.
    • Then download the PowerShell deployment scripts on the same UAG download page.
  • If you are running an ESB version of Horizon, then make sure you run the ESB version of Unified Access Gateway. Get it from the same page as your Horizon download.
    1. Use the Select Version drop-down to select the version of Horizon you have deployed.
    2. Then open the downloads for the edition that you are entitled to: Standard, Advanced, or Enterprise.
    3. Scroll down the page to see the Unified Access Gateway downloads. You usually want the Non-FIPS version.
    4. Then download the PowerShell deployment scripts on the same UAG download page.

To deploy the Unified Access Gateway using VMware vSphere Client:

  1. Unified Access Gateway Deployment Utility fling can be used instead of vSphere Client Deploy OVF.
  2. If vSphere Client, right-click a cluster, and click Deploy OVF Template. Note: the HTML5 UI client in vSphere 6.5 Update 2 and newer might work for single NIC. But multi-NIC is only supported in the Flash UI (source = Hilko Lantinga in the comments)

  3. Select Local File and click Choose Files. In the Open window, browse to the downloaded euc-unified-access-gateway- file, and click Next.

  4. In the Select a name and folder page, give the machine a name, and click Next.
  5. In the Review Details page, click Next.
  6. In the Select configuration page, select a Deployment Configuration. See DMZ Design for VMware Unified Access Gateway and the use of Multiple NICs at VMware Communities. Click Next.
  7. In the Select storage page, select a datastore, select a disk format, and click Next.
  8. In the Select networks page, even if you select Single NIC, the OVF deployment wizard asks you for multiple NICs. UAG typically goes in the DMZ.
  9. In the Customize template page, select STATICV4, and scroll down. Note: HTML5 UI vSphere Web client displays the settings in a different order than the Flash vSphere Client.
  10. In the NIC1 (eth0) IPv4 address field, enter the NIC1 (eth0) IPv4 address. Scroll down.
  11. Enter DNS addresses, Gateway, and Subnet Mask. Scroll down.
  12. Scroll down and enter more IP info.
  13. Scroll down.
  14. Enter a Unified Gateway Appliance Name.
  15. Scroll down. Expand Password Options, and enter passwords.
  16. In UAG 3.5 and newer, there’s a new checkbox for Enable SSH.
  17. In UAG 3.9 and newer, there’s an option to login using a SSH key/pair instead of a password.
  18. Click Next.
  19. In the Ready to complete page, click Finish.

UAG Admin Interface

  1. Power on the Unified Access Gateway appliance.
  2. If the appliance initially boots with the wrong IP, then a reboot might fix it.
  3. In Unified Access Gateway, or Access Point 2.8 and later, you can point your browser to https://My_UAG_IP:9443/admin/index.html, and login as admin. It might take a minute or two before the admin page is accessible.

Import Settings

  1. If you have previously exported settings, you can import it now by clicking Select in the Import Settings section.
  2. Browse to the previously exported UAG_Settings.json file and then click Import.
  3. It should say UAG settings imported successfully.
  4. Press <F5> on your keyboard to refresh the browser.

Configure Horizon Settings

  1. To manually configure the appliance, under Configure Manually, click Select.
  2. Next to Edge Service Settings, click Show.
  3. Next to Horizon Settings, click the gear icon.
  4. Change Enable Horizon to Yes.
  5. As you fill in these fields, hover over the information icon to see the syntax.
  6. The Connection Server URL should point to the internal load balanced DNS name (URL) for your internal Connection Servers. If the DNS name ends in .local, then see 78611 DNS Related Troubleshooting With Unified Access Gateway 3.7 and newer which is based on Photon 3 and Roderik de Block VMware UAG not using DNS.

    1. For the Connection Server URL Thumb print, get the thumbprint from the internal Horizon View certificate. Point your browser to the internal Horizon View Connection Server FQDN (load balanced), and click the padlock icon to open the certificate.
    2. On the Details tab, copy the Thumbprint.
  7. In the Proxy Destination URL Thumb Prints field, type in sha1= and paste the certificate thumbprint.
  8. At the beginning of the Thumbprint field, immediately after the equals sign, there might be a hidden character. Press the arrow keys on the keyboard to find it. Then delete the hidden character.
  9. Enable the three PCOIP, Blast, and Tunnel Gateways and perform the following configurations:
    1. For PCOIP External URL, enter the external IP and :4172. The IP should point to your external load balancer that’s load balancing UDP 4172 and TCP 4172 to multiple Unified Access Gateways.
    2. For Blast External URL, enter https://<FQDN>:8443 (e.g. https://view.corp.com:8443). This FQDN should resolve to your external load balancer that’s load balancing UDP 8443 and TCP 8443 to multiple Unified Access Gateways.
    3. For Tunnel External URL, enter https://<FQDN>:443 (e.g. https://view.corp.com:443). This FQDN should resolve to your¬†external load balancer that’s load balancing TCP 443 to multiple Unified Access Gateways.
    4. The external load balancer must be capable of using the same persistence across multiple port numbers. On NetScaler, this feature is called Persistency Group. On F5, the feature is called Match Across.
  10. Then click More.
  11. Unified Access Gateway has a default list of paths it will forward to the Horizon Connection Server. You can edit the Proxy Pattern and add /|/downloads(.*) to the list so users can also download Horizon Clients that are stored on your Horizon View Connection Servers.
  12. Scroll down and click Save when done.
  13. If you click the arrow next to Horizon Settings, then it shows you the status of the Edge services.

    • If all you see is Not Configured, then refresh your browser and then click the Refresh Status icon.
  14. In your Horizon Connection Servers, the Secure Gateways (e.g. PCoIP Gateway) should be disabled.
    1. Go to Horizon Console or Horizon Administrator.
    2. Expand Settings and click Servers. Or expand View Configuration, and click Servers.

    3. On the right, switch to the tab named Connection Servers.

    4. Highlight your Connection Servers, and click Edit.

    5. Then uncheck or disable all three Tunnels/Gateways.

    6. If Horizon 7, HTML Access won’t work through Unified Access Gateway unless you disable Origin Check or configure the Connection Server’s¬†locked.properties¬†with the UAG addresses. Also see¬†2144768¬†Accessing the Horizon View Administrator page displays a blank error window in Horizon 7.

Add UAG to Horizon Console

In Horizon 7.7 and newer, you can add UAG 3.4 and newer to Horizon Console so you can check its status in the Dashboard.

  1. In UAG Admin console, under Advanced Settings, click the gear icon next to System Configuration.
  2. At the top of the page, change the UAG Name to a friendly name. You’ll use this name later.
  3. Click Save at the bottom of the page.
  4. In Horizon Console, on the left, expand Settings and click Servers. Or in Horizon Administrator, on the left, expand View Configuration and then click Servers.

  5. On the right, switch to the tab named Gateways.

  6. Click the Register button.

  7. In the Gateway Name field, enter the friendly name you specified earlier, and then click OK.

See status of UAG appliances:

  1. Use a Horizon Client to connect through a Unified Access Gateway. Horizon Console and/or Horizon Administrator only detects the UAG status for active sessions.
  2. In Horizon Console 7.10 and newer, to see the status of the UAG appliances:
    1. On the top left, expand Monitor and click Dashboard.
    2. In the top-left block named System Health, click VIEW.
    3. With Components highlighted on the left, on the right, switch to the tab named Gateway Servers.
    4. This tab shows the status of the UAG appliances, including its version.
  3. In Horizon Administrator, to see the status of the UAG appliances:
    1. On the top left, click Dashboard.
    2. In the middle, expand Gateways and click your gateway to see its status.

To see the Gateway that users are connected to:

  1. In Horizon Console 7.10 or newer, or in Horizon Administrator, go to Monitor > Sessions.

  2. Search for a session and notice the Security Gateway column.

UAG Authentication

SAML is configured in UAG 3.8 and newer in the Identity Bridging Settings section.

  1. Upload Identity Provider Metadata.
  2. Then in Edge Service Settings > Horizon Settings > More (bottom of page), you can set Auth Methods (near top of page) to SAML only, which requires True SSO implementation, or SAML and Passthrough, which requires two logins: one to IdP, and one to Horizon.
  3. For Okta and True SSO, see Enabling SAML 2.0 Authentication for Horizon with Unified Access Gateway and Okta: VMware Horizon Operational Tutorial at VMware Tech Zone.
  4. For Azure MFA, see Sean Massey Integrating Microsoft Azure MFA with VMware Unified Access Gateway 3.8.

For RADIUS authentication:

  1. Enable the Authentication Settings section, and configure the settings as appropriate for your requirements. See Configuring Authentication in DMZ at VMware Docs.

    • When configuring RADIUS, if you click More, there’s a field for Login page passphrase hint.
  2. Then in Edge Service Settings > Horizon Settings > More (bottom of page), you can set Auth Methods (near top of page) to RADIUS.
  3. If you scroll down the Horizon Settings page you’ll see additional fields for RADIUS.
  4. In UAG 3.8 and newer, Passcode label field can be customized for MFA providers like Duo.
  5. If your RADIUS is doing Active Directory authentication (e.g. Microsoft Network Policy Server with Azure MFA), then Enable Windows SSO so the user isn’t prompted twice for the password.

Other UAG Configurations

  1. UAG 3.8 and newer shows when the admin password expires in Account Settings in the Advanced Settings section.

  2. Ciphers are configured under Advanced Settings > System Configuration.

    • The default ciphers in UAG 3.10 are the following and include support for TLS 1.3.
    • Carlo Costanzo at How to get an A+ from Qualys SSLLabs on your Horizon UAG deployment recommends the following cipher suites in older UAG appliances:
    • Also enable¬†Honor Cipher Order in older versions of UAG.
    • Syslog is also configured here.
    • In UAG 3.6 and newer, at the bottom of the System Configuration page are several settings for SNMP, DNS, and NTP. UAG 3.10 and newer have Admin Disclaimer Text.
  3. Session Timeout is configured in System Configuration. It defaults to 10 hours.
  4. UAG 3.6 and newer let you add static routes to each NIC.
    1. Click Network Settings.
    2. Click the gear icon next to a NIC.
    3. Click IPv4 Configuration to expand it and then configure IPv4 Static Routes.
  5. UAG 20.09 and newer can automatically install patches/updates when the appliance reboots.
    1. In the Advanced Settings section, click Appliance Updates Settings.
    2. For Apply Updates Scheme, select an option. Click Save.
  6. UAG supports High Availability Settings.

    1. With the High Availability Virtual IP address, you might not need load balancing of the UAG appliances. See Unified Access Gateway High Availability at VMware Docs.
      1. The High Availability feature requires three IP addresses and three DNS names:
        1. One IP/FQDN for the High Availability Virtual IP.
        2. And one IP/FQDN for each appliance/node.
      2. The Horizon Edge Gateways should be set to node-specific IP addresses and node-specific DNS names. Each appliance is set to a different IP/FQDN.
      3. The Virtual IP (and its DNS name) is only used for the High Availability configuration.
      4. The YouTube videos¬†What’s New Unified Access Gateway 3 4¬†and High Availability on VMware Unified Access Gateway Feature Walk-through explain the High Availability architecture.
    2. Set the Mode to ENABLED.
    3. Enter a new Virtual IP Address which is active on both appliances.
    4. Enter a unique Group ID between 1 and 255 for the subnet.
    5. Click Save.
    6. On the second appliance, configure the exact same High Availability Settings.
  7. To upload a valid certificate, scroll down to the Advanced Settings section, and next to TLS Server Certificate Settings, click the gear icon.

    1. In Unified Access Gateway 3.2 and newer, you can apply the uploaded certificate to Internet Interface, Admin Interface, or both.
    2. In Unified Access Gateway 3.0 and newer, change the Certificate Type to PFX, browse to a PFX file, and then enter the password. This PFX file certificate must match the Public FQDN (load balanced) for Unified Access Gateway.
    3. Leave the Alias field blank.
    4. Click Save.

    5. If you changed the Admin Interface certificate, then you will be prompted to close the browser window and re-open it.
  8. Or, you can upload a PEM certificate/key (this is the only option in older UAG). Next to Private Key, click the Select link.

    1. Browse to a PEM keyfile. If not running Unified Access Gateway 3.0 or newer, then certificates created on Windows (PFX files) must be converted to PEM before they can be used with Unified Access Gateway. You can use openssl commands to perform this conversion. The private key should be unencrypted.
    2. Browse to a PEM certificate file (Base-64) that contains the server certificate, and any intermediate certificates. The server certificate is on top, the intermediate certificates are below it. The server certificate must match the public FQDN (load balanced) for the Unified Access Gateway.
    3. Click Save when done.
  9. UAG 3.1 and newer have an Endpoint Compliance Check feature. The feature requires an OPSWAT subscription. Newer versions of UAG can deploy the OPSWAT agent. It’s pass/fail. See Endpoint Compliance Checks for Horizon at VMware Docs. And the YouTube video¬†Endpoint Compliance Checks: New VMware Horizon Security Feature.

    • UAG 3.9 and newer let you upload the Opswat Endpoint Compliance on-demand agent executables. Horizon Client downloads the executables from UAG and runs them. See Upload OPSWAT MetaAccess on-demand agent Software on Unified Access Gateway at VMware Docs.
    • In UAG 20.09 and newer, Outbound Proxy Settings can be configured to allow UAG to contact the Opswat servers when checking for device compliance.

  10. Scroll down to Support Settings and click the icon next to Export Unified Access Gateway Settings to save the settings to a JSON file. If you need to rebuild your Unified Access Gateway, simply import the the JSON file.
  11. If you point your browser to the Unified Access Gateway external URL, you should see the Horizon View Connection Server portal page. Horizon Clients should also work to the Unified Access Gateway URL.

Monitor Sessions

In UAG 3.4 and newer, in the UAG Admin interface,

  • At the top of the page, next to¬†Edge Service Settings, you can see the number of Active Sessions on this appliance.
  • At the bottom of the page, under¬†Support Settings, click¬†Edge Service Session¬†Statistics¬†to see more details.

In older versions of UAG, to see existing Horizon connections going through UAG, point your browser to https://uag-hostname-or-ip-addr:9443/rest/v1/monitor/stats.

Logs and Troubleshooting

In Access Point 2.8, and Unified Access Gateway (2.9 and newer), you can download logs from the Admin Interface.

You can also review the logs at /opt/vmware/gateway/logs. You can less these logs from the appliance console.

Or you can point your browser to https://MyApplianceIP:9443/rest/v1/monitor/support-archive. This will download a .zip file with all of the logfiles. Much easier to read in a GUI text editor.

For initial configuration problems, check out admin.log.

For Horizon View brokering problems, check out esmanager.log.

By default, tcpdump is not installed on UAG. To install it, login to the console and run /etc/vmware/gss-support/install.sh

Load Balancing

If NetScaler, see https://www.carlstalhood.com/vmware-horizon-unified-access-gateway-load-balancing-netscaler-12/ load balance Unified Access Gateways.

For VMware NSX load balancing of Unified Access Gateways, see the¬†VMware¬ģ NSX for vSphere End-User Computing Design Guide 1.2.

To help with load balancing affinity, UAG 3.8 and newer can redirect the load balanced DNS name to a node-specific DNS name. This is configured in Edge Service Settings > Horizon Settings > More (bottom of page).

Related Pages

393 thoughts on “VMware Unified Access Gateway 20.09”

  1. Dear Carl,

    First of all thank you so much for all your articles and documents that has been our reference point for so many years.

    I am stuck with a situation where we are trying to implement a solution where we need to access VDI’s sitting in an isolated environment.
    Our Design in as below;

    Laptop –> VPN (RSA Secure ID)–> UAG(.509 Device Auth from Laptop) –> Horizon Server (Smart card Only for User Auth) –> VDI

    GOAL : Authenticate User & Authenticate Device to allow user to reach VDI and only through virtual DMZ that is VPN Subnet.

    Special Secure Laptop –> Connects to a VPN Solution (This VPN does an authentication based on RSA- Radius, but does not authenticate the device) –> VPN subnet is working as a DMZ –> From here you can connect to UAG (UAG is doing .509 Device authentication – works perfectly Till here –> Once authenticated to UAG you need to authenticate to Connection server and this is where we fail , Our Connection server is setup to accept only Smart card authentication . Problem in our case is UAG is not passing or redirecting PKI token to connection server at this point and horizon client throws an error “Smart card authentication is required”.
    But if we change the Smart card authentication on Connection Server it immediately shows a dialog box for username and password which for this isolated environment is being scrambled but we did a quick test by creating a test account and i was presented with VDI pool. now at this point VDI’s also need 2-factor authentication and they can now see the PKI token, so redirection of PKI works once you are inside VDI.. so all goes well from here if we don’t use Smart card on Connection server for User Authentication.

    So either UAG is not redirecting and presenting token to connection server during authentication OR Connection Server is not fetching Smart card from Laptop via Horizon Client OR May be Horizon Client is not presenting Token to Connection Server.

    I have reached out to VMware logged a ticket with them, shared tons of logs from UAG, Horizon Server/Client but of no use. They haven’t reached for any solution and neither they are accepting the fact that UAG is not capable of working when Horizon Connection server is set to Smart card authentication only for users.

    I was hoping to check with you, if you have come across a similar situation or if I can request you try this in your LAB and see if it works for you or Tell us what wrong are we doing here.

    NOTE : when i tried this, we had Horizon Server and Agent 7.12 and UAG 3.12, I have upgraded Horizon now to 8 and will soon upgrade UAG to 20.09. there is only 1 UAG and 1 connection server. This is a very special setup for a special environment and we desperately looking into getting it working.

    Sandeep Raut

  2. Hi,

    We want to transfer UAG logs to Archsight via syslog. Do you suggest configuring uag admin console or via server for syslog setting?


  3. Dear Carl,

    Thanks for you Articles. it always a knowledgeable, just i have once question, i have deployed UAG for our external users but the VDI is working from external by Horizon client but from url is not working… we have open all port from any to any but still the same issue, we didn’t have any load balancer. please help me

  4. Hi Carl,
    I have a DNS question regarding the UAG. Our UAG appliance is in the DMZ, and our DNS servers (and view connection server, etc) sit inside the firewall. The DMZ has a route to the internal DNS servers, and the UAG is able to successfully connect to the view server, etc. So far, so good.

    When I select the VMware Horizon HTML Access, I am prompted for my credentials, and am able to authenticate and sign in. However, when I click on the normal desktop pool, I am directed a page that references the URL of the internal connection server, and am told that the site can’t be reached. The fact that it can’t be reached makes complete sense to me, as the connection server is inside the firewall and is not public facing. Naturally, it has no public IP address either. Even if I apply a DNS entry to the public facing DNS servers, that IP address will not be reachable as it is an internal address only.

    Do I have something completely misconfigured here, or am I missing something obvious? Thanks for your thoughts on this!

  5. Hi Carl,
    I have a strange situation that I’d like to get your input on. I have a V7.11 connection server, and a UAG running version 3.8. The connection server sees the gateway server, and the gateway server sees the connection server. All appears to be good there. I recently applied a new SSL certificate to the connection server, and that certificate shows up correctly when I browse to the connection server. I copied the thumbprint to the UAG server. However, when I browse to the UAG server URL, I’m told that the session is not secure. Further, when I look at the certificate details, they appear to belong to the self-signed certificate on the connection server, and not the new SSL certificate.

    Any idea why this might be, and what actions are needed to get the UAG server to correctly use the signed certificate on the connection server?


    1. If you browse to UAG, then you’re getting a UAG certificate, not the Connection Server certificate. In UAG, go to TLS Server Certificate Settings and upload a certificate. Easiest is PFX with full chain.

  6. Hi Carl,

    We use cascade mode with 2 x frontend and 2 x backend UAG (per-app-tunnel for iOS & Android devices) on port 9443 but reading through the HA section, I can see that it talks about port 443. I don’t see any setup documentation with regards to our exact scenario?

    The VMware videos don’t really go into it either.

    Can you help?

  7. Hello Carl, I am testing the UAG and cannot launch a RDP session on an internal PC. I have not found a definitive document on what is needed in terms of ports. I am using the web client ->UAG on tcp:443. From that I have tcp:443 going to the connection server(s). The message I get is ‘Unable to set up the desktop session for the display protocol.” Any quick thoughts? What am I missing? Thanks.

  8. Hello Carl,

    First of all, thank you for the tutorial!

    We’ve upgraded our UAG’s from v3.3 to v3.10 and everything went fine (just as you decribed). However, now users start to get the following message when trying to connect:

    VMware Horizon Client cannot verify your connection. The server provided a self-signed certificate instead of a verifiable certificate. Because the server has provied a verifiable certificate in the past, there is a strong likelihood that your connection is not secure.

    Do you have an idea how this can be fixed? Than you very much!

    1. If you exported/imported the config, then be aware that the certificate is not included so you’ll have to upload it again.

  9. Hi Carl, first of all let me thank you for the tutorial, it has helped me a lot, I have a question, I am doing a PoC and we only use one NIC for the UAG. To enter the horizon environment from the internet, I am using a NAT from a public IP to the internal IP of the UAG, like this: https: //x.x.x.x: 444 = https: //x.x.x.x: 443. The user can log in correctly, but when requesting the desktop, it is looking for the internal IP of the UAG using BLAST, do you know what I need to configure in the UAG to be able to show the desktop?

    1. In UAG > Horizon Settings, did you set the URL to :8443, which is the default for blast? Or are you doing port sharing on :444?

      1. Thanks Carl, on UAG >Horizon Settings I set the URL like this:

        Blast External URL: (IP is the internal IP of the UAG) on the firewall I am configuring a NAT https: //187.188.x.x: 444 to https: //

        I am working like this because of lack o resources for the PoC

        Do I need to change the Blas External URL to https://187.188.x.x:8443??


  10. Hi Carl,
    thanks for your great arcticle!

    In case I hosted the Workspace ONE UEM environment for the customer and installed the UAG on customers site, which steps are imported to ensure no SSL errors between UAG and customers environment and UAG to WS1 environment?

    I did the following:

    – SSL PFx Cert from the hosted environment imported into the UAG webconsole on the Internet interface (Admin Interface will be used with the customers certificate
    – Root, Intermediate Certs from the customers environment and the hosted WS1 environment into the trusted certificates from each Edge Service

    Anything else?


  11. I see you do work with the Netscaler and it’s similar to UAG and I know the recommended Netscaler be on the Edge you can give it a public IP and I think that was a recommended config. Anyone know if UAG is secure enough to do the same? With built in load balancing you could give the front end NIC 2 public addresses, it’s own, and lb and then a backend NIC in a DMZ with static routes to the networks it needs access to. I can’t find anything on if that is a recommended setup or prefer behind a firewall because it isn’t secure enough on its own.

  12. Carl you should mention or add that with UAG 3.7 HA will fail because the account HA is trying to use has an expired password. It failed while I was testing HA setup (GUI would show the error FAULT), I found the error that was causing the issue in the /var/log/messages log. I reset the password for the “gateway” user account, . Once I reset the password using the standard “passwd” linux command utility, reenabled HA via the UAG GUI, HA came up as expected.

  13. Hi,

    Great guide, regarding 4c for adding a new static route, do you happen to know the command for adding this outside the GUI?


      1. Hi, the UAG is already installed but some of our static routes magically disappeared overnight. I found this command in a tech note so wondering if it would work so I can add them quickly to get the service back up and running: route add -net netmask gw dev eth1

  14. Hi Carl, Thank you for your awesome site.

    I have problem with UAG 3.9.1 and certificate with alternate names (SAN). When connecting with Horizon Client everything is OK. But when I use web browser to access my desktops, it can only be done when connecting to commonName of certificate. Accessing web by any of SAN names result in error “Failed to connect to the Conection server” when clicking HTML Access. Log didn’t help me.

      1. That’s it. I actually didn’t turn off check origin. But I specified portalHost as mentioned in vmware documentation and now I forgot to add subject alternative names of new certificate. Thank you for pointing this out.

  15. Hi, I am wondering about DNS in a DMZ configuration. We have active directory integrated DNS, and would have to open DNS service from the DMZ to one or more of our Domain Controllers to use DNS on the UAG back to the LAN. Is this the typical practice? If so, it seems that would be included in the list of ports needed for the UAG setup to work. Just wondering how others are doing this?

  16. Hi, I was wondering if you have any recommendation on if it’s ok to run UAG in a 2NIC setup with 1 NIC in the WAN and the other in the DMZ with static routes to connection server and agents. Currently I just use a single NIC deployment in the DMZ with a NAT from public IP to DMZ IP and a VIP to load balance the initial connection. Wondering if the appliance is hardened enough to have it’s external interface on the WAN. My main reason for wanting to investigate this route is when I have any hiccup with my front end firewall or upgrade it etc etc it takes out UAG access, so if I only took out internet access out that would be better with UAG continuing to function aside when it gets updated,

  17. Hi, I discover that if use dns search in ova then not connect to admin https, refuse to connect at all, in 3.9, 3.6, 3.5 and others. My domain its .local

Leave a Reply to Carl Stalhood Cancel reply