[ 
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)

Reply via email to