ftp.bindings

2.15.0+ FTP/FTPS endpoint configuration. By default, no endpoints are defined and the server does not listen for FTP connections.

For SSH endpoint configuration (SFTP, SCP), see bindings.

ftp:
  bindings:
    # explicit TLS on port 21 (IPv4 and IPv6), using default certificate group
    - port: 21
      ipAddress: '0.0.0.0'
      mode: explicit

    - port: 21
      ipAddress: '::'
      mode: explicit

    # implicit TLS on port 990 (IPv4 and IPv6)
    - port: 990
      ipAddress: '0.0.0.0'
      mode: implicit

    - port: 990
      ipAddress: '::'
      mode: implicit

    # custom endpoint with explicit external address and port range
    - port: 9909
      ipAddress: 'test.rebex.net'
      mode: implicit
      externalAddress: 'test.rebex.net'
      dataPortRange: '49152-65535'
      certificateGroup: rebexnet  # use a named certificate group

ftp.bindings[].certificateGroup

string | null

Certificate group to be used for the selected endpoint. If not specified, the default certificate group is used. Unless mode is set to explicitPlain, the referenced certificate group must contain at least one certificate.

ftp.bindings[].dataPortRange

string: <start-end> | number | null

2.15.5+ Port range for FTP passive mode. Accepts a range in the format start-end or a single number. If not specified, any port between 49152–65535 can be used.

ftp.bindings[].externalAddress

string: <IPv4 address> | <hostname>

2.15.5+ External address for FTP passive mode. Accepts a valid IPv4 address or hostname. A hostname is resolved to an IPv4 address when the server starts.

ftp.bindings[].ipAddress

string: <IPv4 address> | <IPv6 address> | <hostname>

IP address to listen on. Use 0.0.0.0 to listen on any IPv4 endpoint and :: on any IPv6 endpoint. Hostnames can be used as well; the address will be resolved when the server starts.

Enclose strings containing colons (:), such as IPv6 addresses, in single quotes to avoid YAML parsing errors, for example: '2001:db8::1'.

ftp:
  bindings:
    - ipAddress: '192.168.1.1'
      # ...
    - ipAddress: '::'
      # ...
    - ipAddress: 'test.rebex.net'
      # ...

ftp.bindings[].mode

string: "implicit" | "explicit" | "explicitPlain" | "explicitTls"

FTP mode to use on the endpoint.

ModeDescriptionTypical port numbers
explicitPlainPlain FTP (not encrypted).21
explicitTlsFTP with explicit TLS (encrypted).21
explicitFTP with an optional TLS upgrade.21
implicitFTP with implicit TLS (encrypted).990

Encrypted modes (implicit, explicit, explicitTls) require at least one certificate in the specified certificate group.

ftp.bindings[].port

number

Port number to listen on. Port 21 is the default port for FTP(S) in explicit mode. Port 990 is the default port for FTP over TLS in implicit mode.

On this page