Hi Bryan,

thanks for your response!
That would indeed solve the issue, however create a certificate that could
be used to impersonate a service called "nifi" in all namespaces of this
cluster (or rather anywhere the CA that is used is accepted).
Kinda like (well ... exactly like I guess) issuing a certificate for
"stackable.*" to someone running "stackable.de" who could then use it to
also authenticate as  "stackable.tech", stackable.com" ...

We discussed this in the past (cannot find a link to the discussion right
now, if I manage to find it I'll post it later) and decided that we'd like
to avoid that if possible.

Best  regards,
Sönke


On Mon, Oct 28, 2024 at 12:18 PM Bryan Bende <bbe...@gmail.com> wrote:

> Hello,
>
> I think the problem would be solved by adding "nifi" as a SAN to the
> certificate of each nifi node right?
>
> To answer your specific question, there isn't anything I am aware of
> to directly pass Jetty configuration, it would have to be something
> through nifi.properties.
>
> Thanks,
>
> Bryan
>
> On Mon, Oct 28, 2024 at 7:01 AM Sönke Liebau
> <soenke.lie...@stackable.tech.invalid> wrote:
> >
> > Hi all,
> >
> > we recently came across some changed behavior when testing NiFi 2.0 [1]
> > which we think is due to upstream changes in Jetty that became active
> when
> > switching to Jetty 12 in NiFi 2.0.
> >
> > I think the actual issue is less important to this question, but I'll
> > briefly outline it, feel free to skip down until the ==question starts
> > here== marker if you are not interested.
> >
> > We run NiFi in Kubernetes and expose it via a service that clients can
> > connect to. As usual in Kubernetes, these services get a fqdn assigned to
> > them which could look like this "nifi.default.svc.cluster.local". If your
> > client runs within the same namespace as NiFi it could also just connect
> to
> > "nifi" though, which is then essentially the same.
> > Since NiFi 2.0 this doesn't work anymore, because the Jetty hostnamecheck
> > is enabled by default and fails, because "nifi" is not in the
> certificate.
> >
> > Don't get me wrong: All of this is correct and it should fail, and
> > everything works as intended here!
> > This should arguably be fixed by simply connecting to
> > "nifi.default.svc.cluster.local" instead of "nifi".
> >
> > Sadly however, we live in a world where we cannot expect to have
> everything
> > under our control all the time. If NiFi in k8s is exposed via an
> > Azure/GKE/AWS/proprietary/... ingress controller or some other forwarding
> > mechanisms we cannot expect to always be able to influence what this
> > connects to.
> >
> > I don't think this should be exposed as an option, disabling this check
> is
> > arguably wrong, but having a uncomfortable override in our back pocket to
> > hand out when there is absolutely positively no other alternative might
> be
> > worth while.
> >
> > Hence my question - sorry for the very long introduction...
> >
> > ==question starts here==
> >
> > Is it possible to somehow set jetty options when starting NiFi that get
> > passed through to the server? I googled around a bit and was not able to
> > find a definitive answer, there is an xml file that jetty uses in tests,
> > but I suspect that'll need to be explicitly referenced somewhere
> somehow...
> >
> > Best regards,
> > Sönke
> >
> > [1] https://github.com/stackabletech/decisions/issues/34
>

Reply via email to