Uploaded image for project: 'Apache NiFi'
  1. Apache NiFi
  2. NIFI-3642

Specify preferred host for web API when clustered

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • 1.2.0, 1.1.1, 1.0.1
    • None
    • None
    • None

    Description

      When clustered, each node calculates two pairs of hosts and ports:

      1) The cluster socket address and cluster socket port
      (nifi.cluster.node.address and nifi.cluster.node.protocol.port) which
      are used for the clustering protocol

      2) The node API address and node API port which is the web
      address/port to use when web-requests are being replicated across the
      cluster

      In a secure cluster, each node would have nifi.web.https.host specified in order match the hostname in the certificate being used, but in an unsecure cluster nifi.web.http.host could be left blank.

      When nifi.web.http.host, Jetty will bind to all available network interfaces, but the node will calculate its API address as localhost because it does have any other information to use. This will cause a node to try and replicate a request to another node using a localhost address which obviously won't work.

      We should provide an additional, optional property like nifi.cluster.preferred.web.api.host which would be used to determine the web API hostname to report when unsecured, and when no http host is provided.

      Attachments

        Activity

          People

            Unassigned Unassigned
            bbende Bryan Bende
            Votes:
            2 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated: