KB Article #181585

ERROR: There is no available DMZEdge for this zone

Problem

Sometimes the following warning is observed in the Server Log:


There is no available DMZEdge for this zone


The most common reason for this message is when all Edge servers in the given Zone were blacklisted by the Backend. Edges get blacklisted if the Backend was not able to reach them, which is usually caused by a network/routing issue between the Backends and the Edge hosts, although the causes may vary widely.


Resolution

When the server parameter Proxy.Blacklisting.Enabled is set to true, it enables the blacklisting mechanisms and in case the Backend identifies an issue with the communication with the Edge it will blacklist it and retry the connection via any other Edge proxy in the Zone (if available). The duration for which the Edge wlll stay blacklisted is defined with the Denied.Proxy.Timeout parameter.


If the parameter Proxy.Blacklisting.Enabled is set to false then the Backend will try to use the same Edge proxy even after a failure.


This was initially thought of as a defense mechanism to prevent potential blacklisting of the Edge(s) on the remote end.


The blacklisting mechanism takes into account the following parameters (shown are the default values):


Server Parameter Value (default) Metric
Denied.Proxy.Timeout 600000 milliseconds
Failed.Proxy.Timeout 180000 milliseconds
Proxy.Max.Failure.Series 3 count


This would translate into – if the Edge failed 3 times (Proxy.Max.Failure.Series) within 3 minutes (Failed.Proxy.Timeout) the Backend will put it in a denied state for 10 minutes (Denied.Proxy.Timeout).


To remediate the error there are a few things that could be tried out on ST side:


Set the parameter Proxy.Blacklisting.Enabled to false under the Admin UI → Operation → Server Configuration page. This will disable the blacklisting logic and the Backend will try to use the same proxy even after failure. Changing the value requires TM restart.


Set the parameter Direct.Connection.When.Proxy.Down to true under the Admin UI → Operation → Server Configuration page. This will make the Transaction Manager attempt a direct connection from the Backend when all Edge proxies in the Zone are down. Changing the value requires TM restart.


Verify that the Socks service on the Edge server is running. A restart might be needed if the service is not running.


Verify that the Enable Proxy and SOCKS5 options are enabled in the Zone's configuration (Admin UI → Setup → Network Zone → select the Edge network zone → Select the Edge node from the list).


If the server parameter Dmz.Edge.proxyDnsResolutionCheck is set to true, verify that the Use the Edge DNS configuration is enabled in the Zone's configuration. When it is enabled, DNS resolution of hostnames will be performed by the Edge before a Server Initiated Transfer is executed by the Backend.


Increase the Denied.Proxy.Timeout, Failed.Proxy.Timeout and Proxy.Max.Failure.Series server parameters.