SYMPTOM
The Runtime Manager continues to have communication issues between the Mule Runtime Agent and the On-Prem server even after upgrading the Agent from
older versions(prior to 1.12.0 in Mule 3.x / 2.2.0 in Mule 4.x) to
latest versions(1.12.0 onwards in Mule 3.x / 2.2.0 in Mule 4.x)
CAUSE
The endpoints for communicating with Anypoint Runtime Manager have been modified as mentioned in
Mule 3 and
Mule 4 .
The Agent prior to version
1.12.0 (in Mule 3.x) / 2.2.0 (in Mule 4.x) has the following values for
consoleUri and
endpoint in
$MULE_HOME/conf/mule-agent.yml
consoleUri: wss://mule-manager.anypoint.mulesoft.com:443/mule
endpoint: https://arm-auth-proxy.prod.cloudhub.io
Example:
transports:
rest.agent.transport:
enabled: false
websocket.transport:
enabled: true
consoleUri: wss://mule-manager.anypoint.mulesoft.com:443/mule
handshake:
enabled: true
body: null
globalConfiguration:
security:
keyStorePassword: xxxxxxxxxxxxxxxxx
keyStoreAlias: agent
keyStoreAliasPassword: xxxxxxxxxxxxxxxxx
authenticationProxy:
endpoint: https://arm-auth-proxy.prod.cloudhub.io
The Agent from version
1.12.0 (in Mule 3.x) / 2.2.0 (in Mule 4.x) onwards has the following values for
consoleUri and
endpoint in
$MULE_HOME/conf/mule-agent.yml
consoleUri: wss://runtime-manager.anypoint.mulesoft.com:443/mule
endpoint: https://data-authenticator.anypoint.mulesoft.com
Example:
transports:
rest.agent.transport:
enabled: false
websocket.transport:
enabled: true
consoleUri: wss://runtime-manager.anypoint.mulesoft.com:443/mule
handshake:
enabled: true
body:
globalConfiguration:
security:
keyStorePassword:xxxxxxxxxxxxxxxxx
keyStoreAlias: agent
keyStoreAliasPassword: xxxxxxxxxxxxxxxxx
authenticationProxy:
endpoint: https://data-authenticator.anypoint.mulesoft.com
SOLUTION
Whenever the Agent is Installed or Updated (Refer
Install or Update Runtime Agent) , the
mule-agent.yml should have the values for
consoleUri and
endpoint updated automatically, but in certain cases it is not updated. If that is the case, then please have the values for
consoleUri and
endpoint updated manually under
mule-agent.yml and restart Mule or the API gateway runtime in order to have the changes reflected.
consoleUri: wss://runtime-manager.anypoint.mulesoft.com:443/mule
endpoint: https://data-authenticator.anypoint.mulesoft.com
Please note the correct values for the EU Plane are:
consoleUri: wss://runtime-manager.eu1.anypoint.mulesoft.com:443/mule
endpoint: https://data-authenticator.eu1.anypoint.mulesoft.com
Please see https://docs.mulesoft.com/api-manager/2.x/runtime-urls-allowlist for a list of all the Anypoint Platform hostnames.
An example solution is:
transports:
rest.agent.transport:
enabled: false
websocket.transport:
enabled: true
consoleUri: wss://runtime-manager.anypoint.mulesoft.com:443/mule
handshake:
enabled: true
body:
globalConfiguration:
security:
keyStorePassword:xxxxxxxxxxxxxxxxx
keyStoreAlias: agent
keyStoreAliasPassword: xxxxxxxxxxxxxxxxx
authenticationProxy:
endpoint: https://data-authenticator.anypoint.mulesoft.com