Tableau Desktop Cannot Communicate to Tableau Server with "503 Service Unavailable" or "403 Forbidden" Using a Proxy

Published: 10 Oct 2022
Last Modified Date: 11 Oct 2022


When trying to bypass a proxy to make Tableau Desktop connect directly to Tableau Server using OAuth, it is not possible to bypass the proxy even if the Tableau Server domain name and IP address is added to the environmental variable NO_PROXY.  The connection continues to use the proxy.

If your proxy server has limited the access from the Tableau Desktop client PC or the access to Tableau Server, you may experience error messages from Tableau Desktop such as:

 Exception thrown while attempting to get the oauth tokens: 503 Service Unavailable
POST https://<server name or ip address>/oauth2/v1/token


Exception thrown while attempting to get the oauth tokens: Unable to tunnel through proxy. Proxy returns "HTTP/1.1 403 Forbidden"



  • Tableau Desktop
  • Windows
  • Proxy between Tableau Desktop and Tableau Server
  • OAuth Authentication


Find the Java file under the Tableau Desktop directory below and open it with any text editor:

C:\Program Files\Tableau\Tableau <version>\bin\jre\conf

Option 1

Comment the Java nonProxyHosts setting by adding a "#" to the head of the line as shown below:

It will make the Java process use the system environment NO_PROXY setting on the OS side.

Option 2

Modify the Java nonProxyHosts setting to make it match the setting of the environmental variable NO_PROXY as shown below:
http.nonProxyHosts=localhost|127.*|[::1]|<tableau server name>|<tableau server ip address>



When using Tableau Desktop to access Tableau Server with OAuth authentication, the Java process is responsible for part of the communication.
Java prefers to use the "nonProxyHosts" setting in java file on the Java side over the system environment NO_PROXY setting on the OS side.

Additional Information

Be sure that when you upgrade to a new version of Tableau Desktop, you re-configure the Java file in the new version directory.

The installation is initialized with a default non-proxy setting as demonstrated below, and it just has localhost & 127.* by default:
Did this article resolve the issue?