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

Specify preferred host for web API when clustered

Attach filesAttach ScreenshotAdd voteVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: 1.2.0, 1.1.1, 1.0.1
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      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

            • Assignee:
              Unassigned
              Reporter:
              bbende Bryan Bende

              Dates

              • Created:
                Updated:

                Issue deployment