By default, the reverse proxy is disabled. You can use one of the following properties or environment variables to enable it.

Node PropertySystem PropertyEnvironment Variable
enable-reverse-proxyappdynamics.reverse.proxy.enabled = 
true/false
APPDYNAMICS_REVERSE_PROXY_ENABLED = 
true/false

The environment variable takes precedence over the system property. To disable the reverse proxy configuration,  all three must be false or not set.

When the agent makes an API call to the Controller, the agent checks the node property status, if set to:

  • true - The required host header is added to the request.
  • false - The agent checks the value of the environment variable. If the environment variable is set to true, the required host header is added to the request. If the environment variable is set to false, the agent checks the system value property.
    If the system value property is set to true, the required host header is added to the request. If set to false, the reverse proxy is not enabled and the host header is not added to the request.

You can utilize Java agent reverse proxy to:

  • Configure two or more Controllers
  • Mask the Controller hostname for additional security
  • Load balance multiple Controllers.

Important

When the reverse proxy is enabled, the API calls from agent to Controller fail because API calls need the host header to know the domain to which calls are made.  Enabling reverse proxy masks the Controller hostname which results in the 503 Service Unavailable error. To fix this issue, the agent adds the host header to the request derived from the   accountName of Controllers that has the reverse proxy enabled.