|Service||Default Ports||Accessed By|
|Engines||5000-5083, 7070||Application Server, other Engines|
|Kafka||9092||Engines, Data Server, other Kafkas|
|Search Server||9300||Application Server, other Search Servers|
|Data Server||5400-5405||Application Server|
|Zookeeper||2181, 2888, 3888||Engines, Kafka, other Zookeepers|
Appian allocates the ports used by each engine on startup. This allows you greater flexibility when configuring Appian to handle changing user needs, such as adding a gateway or moving an engine server to a separate server host machine.
Starting from the base port (5000 by default) each engine is assigned two consecutive ports, one for the gateway, the other one for the database. For example, the Forums gateway takes port number 5000 and the Forums engine server takes port number 5001. Then the Notify gateway process takes port number 5002, and the Notify engine server takes port number 5003. Ports are assigned in this manner until all active engines and gateways have port assignments.
The default configuration uses a single gateway for each Appian engine (gw1). If additional gateways are enabled (as is possible with a distributed installation) an additional port is sequentially assigned for each additional gateway.
You can directly configure the ports used by the engines with a custom topology file (appian-topology.xml) stored in
Appian Cloud is fully compatible with IPv6. On-premises customers can configure Appian in IPv4 or IPv6 configurations. The Appian platform component services communicate via TCP/IP protocols. All component services are natively IPv6 compatible except the Appian Engine servers which achieve IPv6 compatibility via IPv6 bridging. Any IPv6-to-IPv4 bridging techniques (dual-stack or Network Address Translation) can be used to provide IPv6 connectivity to the Appian Engine servers in on-premises installations.
As a security best practice, it is recommended to configure firewall settings so that the port(s) for each Service are only accessible to machines that host a Service listed in the corresponding "Accessed By" column. For example, Kafka uses port 9092 and the other Services that need to communicate with Kafka are Engines, Data Server, and other Kafka instances. So port 9092 should only be open to machines that are hosting an instance of Engines, Data Server, or Kafka. For a non-distributed installation where all Appian services are hosted on one machine, then only the local host should have access to the ports.