[[remote-cluster-network-settings]] ==== Advanced remote cluster (API key based model) settings Use the following advanced settings to configure the remote cluster interface (API key based model) independently of the <>. You can also configure both interfaces together using the <>. `remote_cluster_server.enabled`:: (<>, boolean) Determines whether the remote cluster server should be enabled. This setting must be `true` for `remote_cluster.port` and all following remote cluster settings to take effect. Enabling it allows the cluster to serve cross-cluster requests using the API key based model. Defaults to `false`. `remote_cluster.host`:: (<>, string) Sets the address of this node for remote cluster server traffic. The node will bind to this address and will also use it as its remote cluster server publish address. Accepts an IP address, a hostname, or a <>. Use this setting only if you require different configurations for the remote cluster server and transport interfaces. + Defaults to the address given by `transport.bind_host`. `remote_cluster.bind_host`:: (<>, string) The network address(es) to which the node should bind in order to listen for incoming remote cluster connections. Accepts a list of IP addresses, hostnames, and <>. Defaults to the address given by `remote_cluster.host`. Use this setting only if you require to bind to multiple addresses or to use different addresses for publishing and binding, and you also require different binding configurations for the remote cluster server and transport interfaces. `remote_cluster.publish_host`:: (<>, string) The network address at which the node can be contacted by other nodes. Accepts an IP address, a hostname, or a <>. Defaults to the address given by `remote_cluster.host`. Use this setting only if you require to bind to multiple addresses or to use different addresses for publishing and binding, and you also require different binding configurations for the remote cluster server and transport interfaces. `remote_cluster.publish_port`:: (<>, integer) The port of the <>. Set this parameter only if you need the publish port to be different from `remote_cluster.port`. Defaults to the port assigned via `remote_cluster.port`. `remote_cluster.tcp.keep_alive`:: (<>, boolean) Configures the `SO_KEEPALIVE` option for remote cluster sockets, which determines whether they send TCP keepalive probes. Defaults to `transport.tcp.keep_alive`. `remote_cluster.tcp.keep_idle`:: (<>, integer) Configures the `TCP_KEEPIDLE` option for transport sockets, which determines the time in seconds that a connection must be idle before starting to send TCP keepalive probes. Defaults to `transport.tcp.keep_idle` if set, or the system default otherwise. This value cannot exceed `300` seconds. In cases where the system default is higher than `300`, the value is automatically lowered to `300`. Only applicable on Linux and macOS. `remote_cluster.tcp.keep_interval`:: (<>, integer) Configures the `TCP_KEEPINTVL` option for transport sockets, which determines the time in seconds between sending TCP keepalive probes. Defaults to `transport.tcp.keep_interval` if set, or the system default otherwise. This value cannot exceed `300` seconds. In cases where the system default is higher than `300`, the value is automatically lowered to `300`. Only applicable on Linux and macOS. `remote_cluster.tcp.keep_count`:: (<>, integer) Configures the `TCP_KEEPCNT` option for transport sockets, which determines the number of unacknowledged TCP keepalive probes that may be sent on a connection before it is dropped. Defaults to `transport.tcp.keep_count` if set, or the system default otherwise. Only applicable on Linux and macOS. `remote_cluster.tcp.no_delay`:: (<>, boolean) Configures the `TCP_NODELAY` option on transport sockets, which determines whether {wikipedia}/Nagle%27s_algorithm[TCP no delay] is enabled. Defaults to `transport.tcp.no_delay`. `remote_cluster.tcp.reuse_address`:: (<>, boolean) Configures the `SO_REUSEADDR` option for network sockets, which determines whether the address can be reused or not. Defaults to `transport.tcp.reuse_address`. `remote_cluster.tcp.send_buffer_size`:: (<>, <>) The size of the TCP send buffer for transport traffic. Defaults to `transport.tcp.send_buffer_size`. `remote_cluster.tcp.receive_buffer_size`:: (<>, <>) The size of the TCP receive buffer for transport traffic. Defaults to `transport.tcp.receive_buffer_size`.