Hi Tim, Sorry for the inconvenience but this was a bug that was introduced in Apache NiFi 1.5.0. This was addressed in this JIRA [1] and will be included in Apache NiFi 1.6.0 which is currently under vote.
Matt [1] https://issues.apache.org/jira/browse/NIFI-4894 On Thu, Mar 22, 2018 at 3:13 PM, Tim Dean <tim.d...@gmail.com> wrote: > Hello, > > I am working with NiFi 1.5.0 and I have created a customer service > controller for my project. I am able to add my controller service to my > NiFi flow configuration, but I am unable to enable that controller service > without first encountering error messages that I need to dismiss. After > that the controller services do appear to be enabled, but then I can’t > disable them. > > This problem does not occur when I connect directly to my NiFi application > from the browser. But it does not work when NiFi is deployed behind an > Nginx reverse proxy that is how we deploy things in production. I have > configured Nginx to set headers as described at https://community. > hortonworks.com/articles/113240/running-apache-nifi-behind-a-proxy-2.html. > Specifically, my Nginx configuration looks like this: > > location /workflow/ { > proxy_set_header Host $host; > proxy_set_header X-Real-IP $remote_addr; > proxy_set_header X-ProxyScheme $scheme; > proxy_set_header X-ProxyHost $host; > proxy_set_header X-ProxyPort $server_port; > proxy_set_header X-ProxyContextPath "/workflow/"; > proxy_pass http://127.0.0.1:8080/; > } > > > This appears to work for most operations: I can configure my processors, > start and stop them, etc. But when I try to click the button to enable my > service controller, the proxy settings set up in my Nginx configuration > above don’t seem to be honored. > > As an example, here the HTTP request I see in developer tools for starting > a processor looks like this: > > PUT http://vi-codex.eng.local/workflow/nifi-api/processors/ > 5d8deeca-015e-1000-be6e-151bd1c4b56a > > > But when I click on the button to enable my controller service, the HTTP > request looks like this: > > GET http://vi-codex.eng.local/nifi-api/flow/bulletin-board? > sourceId=4e9f82cf-0162-1000-ee16-fb9ce9599ac6 > > > As you can see, the “/workflow” context path I set via Nginx is being used > for the first (and every other) request, but not when I try to enable or > disable a service controller. For enabling and disabling, I get an error > because it attempts to access “nifi-api” without properly prefixing it with > the correct context path. > > Have I done something wrong in my configuration that is causing this? Or > is this a bug in NiFi 1.5? > > Thanks > > -Tim >