[
https://issues.apache.org/jira/browse/NIFI-14477?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17944353#comment-17944353
]
David Handermann commented on NIFI-14477:
-----------------------------------------
[~taz1988] Have you evaluated proposing changes to the Apache Knox project as a
preferred solution?
> Nifi throws error for api calls which perform throught knox proxy
> -----------------------------------------------------------------
>
> Key: NIFI-14477
> URL: https://issues.apache.org/jira/browse/NIFI-14477
> Project: Apache NiFi
> Issue Type: Bug
> Affects Versions: 2.3.0
> Reporter: Zoltán Kornél Török
> Assignee: Zoltán Kornél Török
> Priority: Major
> Time Spent: 10m
> Remaining Estimate: 0h
>
> *Problematic scenario*
> Our system work behind a knox proxy, where we perform nifi api calls. When we
> do, nifi return back an error (in this example we want to create a process
> group):
> {code:java}
> Caused by: org.springframework.web.client.HttpClientErrorException$Conflict:
> 409 Conflict: [Node
> ztorok-test-dfx-2-nifi-2-datahub-nifi1.ztorok-t.svbr-nqvp.int.cldr.work:8443
> is unable to fulfill this request due to: {
> "message":"Transfer-Encoding and Content-Length",
> "url":"https://ztorok-test-dfx-2-nifi-2-datahub-nifi1.ztorok-t.svbr-nqvp.int.cldr.work:8443/nifi-api/process-groups/root/process-groups",
> "status":"400"
> }] {code}
> If the same request go directly to a nifi node, we didn't experienced any
> problem.
> *What cause this problem?*
> This problem happens, because the jetty library perform some compliance
> validation for every http request before process it. Http protocol not allow
> it that Transfer-encoding and content-length both present on the http
> request, but older http clients violate that rule, and that is happening when
> knox connect to nifi too.
> Related jetty code:
> [https://github.com/jetty/jetty.project/blob/jetty-12.0.x/jetty-core/jetty-http/src/main/java/org/eclipse/jetty/http/HttpParser.java#L1104]
>
> *Proposed solution*
> Jetty give us option to configure compliance options -
> [https://jetty.org/docs/jetty/12/programming-guide/server/compliance.html]
> I would like to introduce a new nifi property, where users can able to
> configure compliance, if they needed. Default that property would be empty,
> which means nifi use the jetty provided default compliance (currently it is
> RFC7230).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)