Connecting Remote Servers - Documentation topics on: environments,push environment,push publishing,receive from environment,remote publishing,send to environment,.

Connecting Remote Servers

The Publishing Environments tab displays a list of Send To Environments that your dotCMS server can publish content to, and the Receive From servers that your dotCMS server will accept content from.

Configuring Environments and Servers

  • You can have multiple Send To Environments, and you can group multiple End Point servers into each Environment. Each time you push content, you can choose which Environment(s) it is pushed to, which in turn determines which server or servers the content is pushed to.
  • You can have multiple Receive From servers, and any of them may push to your dotCMS server at any time (subject to push permissions and configuration on the sending server).
  • For any push to succeed, both the sending server and the receiving server must be properly configured:

Push Publishing Part One: Configuring Environments & Servers

Send To Environments

A push publishing Environment allows you to group one or more End Point servers to receive content pushed to the Environment. To create a new Environment, click the Add Environment button on the Publishing Environments tab.

A dialog box opens with the following fields:

ParameterDescription
Environment NameThe name of the Environment. Displayed and selected when users push content.
Who Can Send to this EnvSpecifies push Permissions, defining which Users and/or Roles are allowed to Push content to this Environment.
Push ModeSpecifies whether content pushed to this Environment is pushed to just one Server configured in the Environment or all of them.
  • If the Environment has multiple End Points configured and Push to One Server is selected, dotCMS will randomly pick one of the servers in the Environment any only Push the content to that one server.
  • If communication with the selected server fails, dotCMS will randomly choose another server in the Environment and try the Push process again.

Important: When pushing to a cluster, you must do one of the following:

  • Set the Push Mode to Push to One Server.
    • When you push to a single server in a cluster, the servers in the cluster automatically synchronize the content among themselves.
    • If you attempt to push to all servers in the cluster, different servers may end up with different copies of the same content, which will cause synchronization problems among the servers in the cluster.
  • Push to a Load Balancer placed in front of the cluster.
    • It is recommended practice to use a Load Balancer in front of a cluster, to help manage performance.
    • When you use a Load Balancer, it is recommended that you push to the Load Balancer, rather than to the individual servers in the cluster.

End Point Servers

An End Point server is configured within an Environment and defines an individual receiving server to Push content to. To create an End Point server click Add Server and enter values for the following fields in the popup:

ParameterDescription
Server NameA friendly name for the server.
Address ToThe DNS server name or IP address of the receiving server.
PortThe port to connect to the server. This value defaults to 80, and should be set to whatever port is used to connect to the front-end of the server.
ProtocolThis can be either http or https.
Authentication Token/File PathThis can be either a token key or an absolute path to a file in the file system that contains a key. The key needs to match the one configured in the Receiving server for its Authoring Server.
EnabledEnables or disables If checked it enables sending to this individual server.

Receive From Servers

The Receive From servers list specifies which servers are authorized to push content to your dotCMS server.

To add a Receive From server, click the +Add Server button in the Publishing Environments tab. A poup opens with the following fields:

ParameterDescription
Server NameA label to identify the sending server. The Server Name does not need to match the actual server name, IP address, or domain; however it's helpful to set the Server Name to the fully qualified host name (including the domain) to make it easy to identify the server.
Address FromThe DNS server name or IP address of the server that intends to Push content to the current instance server.
Authentication Token/File PathThis can be either a token key or an absolute path to a file in the file system that contains a key. The key needs to match the one configured in the Sender server.
EnabledEnables or disables the individual server within the environment.

Before first pushing content between servers, and periodically after the connection has been established, it is highly recommended that you run the Integrity Checker on the sending server to verify that there are no conflicts between the content on the sending and receiving servers.

Once the connection has been configured and validated, you can begin Push Publishing Content from the sending server to the receiving server(s).

Authentication Token/File Path

It is strongly recommended that you use the Authentication Token/File Path field to add an additional layer of security in the form of an authentication handshake between the sending and receiving servers. The use of an authentication key helps prevent a potential attacker from from sending content to the receiving server by “spoofing” (impersonating) the sending server.

If the value of this field is a path to a file on your dotCMS server containing text, dotCMS will read the contents of the file and use the string as the authentication key. Otherwise, dotCMS will use the string entered into this field as the authentication key.

The authentication key used must match on both the sending and receiving servers for any push publishing connection between the servers to work. If the authentication keys don't match, any attempts to push content (or perform an Integrity Check) will fail.