Communication Through Firewalls
It is common that the Platform and EC’s hosts are protected by one or more firewalls. In order for the communication between the various components of the system to work, you may need to update your firewall settings.
Accessing Ports in Pico Instances
In MediationZone, it is always the client that establishes a connection to the Platform. Once a connection has been established, it is used as a two-way communication channel; the Platform never needs to open an outgoing connection. Typically, the Platform has the server role in the system, while mzsh
, Desktops, ECs and web browsers act as clients.
The common property pico.rcp.platform.port
 specifies a port used by pico instances to communicate with Platform. The default value is 6790
 in a standard installation. Use the following command to retrieve the value of this property:
mzsh topo get topo://val:common.pico.rcp.platform.port
The Platform property mz.webserver.port
 specifies a port used to communicate with the Platform Web Interface. The default value is 9000
 in a standard installation. Use the following command to retrieve the value of this property from the Platform Container:
mzsh topo get topo://container:<container>/pico:platform/val:config.properties.mz.webserver.port
The property ec.webserver.port
specifies a port used to communicate with an EC Web Interface. The default value is 9090
 in a standard ec-template
. Use the following command to retrieve the value of this property for all ECs in a container:
mzsh topo get --format data-only topo://container:<container>/pico:.*/val:config.properties.ec.webserver.port
Â
You can manage pico instances in one container from another by enabling remote access, using the mzsh command topo setupremote.
 SSH is used by the pico instances for remote access and the default port used by this protocol is 22. For further information about setting up remote access and how to configure the SSH port, see Remote Access to Containers.
Inter Workflow Communication
The server port used for Inter Workflow communication, when one EC contacts another EC, is specified by the EC property pico.rcp.server.port
. If no port is set, a dynamic port will be used and the port number will change each time the EC is restarted. To let the firewall allow a connect operation, the  property pico.rcp.server.port
 has to be set to the same port number as the specific port opened by the firewall.
Example - Inter Workflow Communication
EC1 on Host1 is configured with "RCPPort1"
, and EC2 on Host2 with "RCPPort2"
.
To allow EC1 to open a connection to contact an Inter Workflow storage on EC2, EC1 will make a TCP connect from Host1 to Host2 on port "RCPPort2".
In this case, "RCPPort2" has to be allowed by the firewall.
Database Communication
For performance reasons, Audit information is logged directly from an EC to the database.
If the system is unable to log Audit information directly from the EC, Audit will instead be performed through the Platform. This might happen if an external EC is unable to connect to the database in case of, for example, a network failure or if the EC has problems to connect through a firewall. To avoid this, configure the firewall so that the EC can communicate directly with the Audit database.
For information on how to setup the Audit Profile, see Audit Profile.
Firewall Setup
The following lists the actions that should be taken to allow communication between hosts in the system. It is assumed that the standard installation ports are used. If the default ports have been changed, replace the port numbers with the ones you are using.
To allowÂ
mzsh
, Desktops and ECs to communicate with the Platform, incoming data to, and outgoing data from portÂ6790
in the Platform Container must be allowed.To allow the Platform Web Interface to be accessed from outside the firewall and for STR synchronization, incoming data to, and outgoing data from the Platform's portÂ
9000
 must be allowed.To allow the EC Web Interface to be accessed from outside the firewall, incoming data to, and outgoing data from the EC's portÂ
9090
 must be allowed.To allow remote access to Execution Containers, outgoing data must be allowed on port 22.
Type | Port(s) | Open Internally | Open Externally |
---|---|---|---|
Platform | 6790 9000 See Additional Platform Properties in install.xml for more information. | Default scenario where MediationZone is only used within an internal network. | If it is required to provide platform ports to external scenarios, such as legacy desktop (Java Swing) running on an external network. |
Web UI | 9001 See Desktop UI Properties for more information. | If all browser users are on an internal network. | Default scenario where Web UI is running on browsers on external network. |
Execution Context(s) | 9090 See Execution Context Properties for more information. | Default scenario where services depending on EC is used within an internal network. | If it is required to provide access to ECs from an external network. It is required if the Prometheus server is deployed on remote network and needs to work with EC in an internal network, for example. |
Legacy Java Swing Desktop | 6790 | Default scenario when the legacy desktop is used within an internal network. | If the legacy desktop requires to run from an external network. |
Operations REST Interface | 9000 See Operations REST Interface for more information. | Default scenario where services depending on Operations REST Interface is used within an internal network. | If it is required to provide access to Operations REST Interface from an external network. |
Note!
It is recommended to enable the client authentication for security. For more information, refer to Enabling Client Authentication.
Consider to provide VPN access for services that require access to 6790 and 9000.
For example, the access the legacy desktop (Java Swing) remotely.