Awesome thanks! We'll get this reviewed and then it'll get merged and included in 1.2.0. Thanks for the verification assist!
Matt Sent from my iPhone > On Dec 15, 2016, at 8:45 PM, Richard St. John <[email protected]> wrote: > > Matt, > > Great news! I was able to successfully test the changes you made to > address the import template issue. I do not know what other verification > is needed for your PR to be approved, but after building NIFI > 1.2.0-SNAPSHOT with your changes from NIFI-3207, the issue is resolved. > > Thanks. > > Rick. > >> On Thu, Dec 15, 2016 at 1:43 PM Matt Gilman <[email protected]> wrote: >> >> Rick, >> >> Here's my proposed solution for the template upload issue [1]. Please give >> it a shot behind your proxy. >> >> Thanks >> >> Matt >> >> [1] https://github.com/apache/nifi/pull/1334 >> >> On Thu, Dec 15, 2016 at 12:58 PM, Matt Gilman <[email protected]> >> wrote: >> >>> Awesome. Here's the JIRA [1]. I should have the PR posted shortly. >>> >>> Matt >>> >>> [1] https://issues.apache.org/jira/browse/NIFI-3207 >>> >>> On Thu, Dec 15, 2016 at 12:53 PM, Richard St. John <[email protected]> >>> wrote: >>> >>>> I should be able to test tonight. >>>> >>>> On Thu, Dec 15, 2016 at 12:45 PM Matt Gilman <[email protected]> >>>> wrote: >>>> >>>>> Rick, >>>>> >>>>> I think I see what the issue is however, I have don't have the >>>> environment >>>>> available for verifying it. If I posted a PR would you be in a >> position >>>> to >>>>> try it out? >>>>> >>>>> Matt >>>>> >>>>> On Wed, Dec 14, 2016 at 9:00 PM, Richard St. John < >> [email protected]> >>>>> wrote: >>>>> >>>>>> Matt, >>>>>> >>>>>> This is where it gets interesting. The issue only arises when nginx >>>> is >>>>>> used as a reverse proxy for a *clustered* NiFi (within a trusted >>>>>> environment using http). In fact, it even occurs when the reverse >>>> proxy >>>>>> upstream points to only one of the nifi nodes in the cluster. >>>> Moreover, >>>>>> the problem is limited to importing/uploading a template. Deleting, >>>>>> downloading, and instantiating existing templates works fine. >>>>>> >>>>>> There is another strange pattern that I discovered. I can get >>>> templates >>>>> to >>>>>> import if I hard-code the scheme header as follows: >> *proxy_set_header >>>>>> X-ProxyScheme http;* However, when I hard-code the proxy scheme to >>>>> http, I >>>>>> cannot delete a template after it is uploaded. >>>>>> >>>>>> Below are several of the logs (IPs and DNS were changed for security >>>>>> reasons). >>>>>> >>>>>> *nginx.err* >>>>>> 2016/12/15 01:19:42 [warn] 29377#29377: *16 a client request body is >>>>>> buffered to a temporary file >> /var/cache/nginx/client_temp/0000000005, >>>>>> client: X.X.X.X, server: nifi-rix.somedomain.com, request: "POST >>>>>> /nifi-api/process-groups/fe2e65ad-0158-1000-5fa5- >>>>>> 8a86805ff8bb/templates/upload >>>>>> HTTP/1.1", host: "nifi-rix.somedomain.com", referrer: " >>>>>> https://nifi-rix.somedomain.com/nifi/" >>>>>> >>>>>> *nginx access log* >>>>>> [15/Dec/2016:01:22:17 +0000] - (X.X.X.X - rstjohn) "POST >>>>>> /nifi-api/process-groups/fe2e65ad-0158-1000-5fa5- >>>>>> 8a86805ff8bb/templates/upload >>>>>> HTTP/1.1" 500 0 "https://nifi-rix.somedomain.com/nifi/" >> "Mozilla/5.0 >>>>>> (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like >>>>> Gecko) >>>>>> Chrome/55.0.2883.95 Safari/537.36" "-" >>>>>> >>>>>> >>>>>> *NiFi Log: nifi-app.log* >>>>>> 2016-12-15 01:25:00,362 WARN [Replicate Request Thread-4] >>>>>> o.a.n.c.c.h.r.ThreadPoolRequestReplicator Failed to replicate >> request >>>>> POST >>>>>> /nifi-api/process-groups/fe2e65ad-0158-1000-5fa5- >>>>>> 8a86805ff8bb/templates/import >>>>>> to ip-X-X-X-X.ec2.internal:8080 due to {} >>>>>> com.sun.jersey.api.client.ClientHandlerException: >>>>>> javax.ws.rs.WebApplicationException: >> javax.xml.bind.MarshalException >>>>>> - with linked exception: >>>>>> [javax.net.ssl.SSLException: Unrecognized SSL message, plaintext >>>>>> connection?] >>>>>> at >>>>>> com.sun.jersey.client.urlconnection.URLConnectionClientHandl >>>> er.handle( >>>>>> URLConnectionClientHandler.java:155) >>>>>> ~[jersey-client-1.19.jar:1.19] >>>>>> at com.sun.jersey.api.client.Client.handle(Client.java:652) >>>>>> ~[jersey-client-1.19.jar:1.19] >>>>>> at >> com.sun.jersey.api.client.WebResource.handle(WebResource.java:682) >>>>>> ~[jersey-client-1.19.jar:1.19] >>>>>> at com.sun.jersey.api.client.WebResource.access$200(WebResource >>>> .java:74) >>>>>> ~[jersey-client-1.19.jar:1.19] >>>>>> at com.sun.jersey.api.client.WebResource$Builder.post( >>>>>> WebResource.java:560) >>>>>> ~[jersey-client-1.19.jar:1.19] >>>>>> at >>>>>> org.apache.nifi.cluster.coordination.http.replication. >>>>>> ThreadPoolRequestReplicator.replicateRequest(ThreadPoolReque >>>> stReplicator. >>>>>> java:587) >>>>>> ~[nifi-framework-cluster-1.1.0-A1-SNAPSHOT.jar:1.1.0-A1-SNAPSHOT] >>>>>> at >>>>>> org.apache.nifi.cluster.coordination.http.replication. >>>>>> ThreadPoolRequestReplicator$NodeHttpRequest.run( >>>>>> ThreadPoolRequestReplicator.java:770) >>>>>> ~[nifi-framework-cluster-1.1.0-A1-SNAPSHOT.jar:1.1.0-A1-SNAPSHOT] >>>>>> at >>>>> >> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) >>>>>> [na:1.8.0_112] >>>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:266) >>>>> [na:1.8.0_112] >>>>>> at >>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker( >>>>>> ThreadPoolExecutor.java:1142) >>>>>> [na:1.8.0_112] >>>>>> at >>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run( >>>>>> ThreadPoolExecutor.java:617) >>>>>> [na:1.8.0_112] >>>>>> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_112] >>>>>> Caused by: javax.ws.rs.WebApplicationException: >>>>>> javax.xml.bind.MarshalException >>>>>> - with linked exception: >>>>>> [javax.net.ssl.SSLException: Unrecognized SSL message, plaintext >>>>>> connection?] >>>>>> at >>>>>> com.sun.jersey.core.provider.jaxb.AbstractRootElementProvide >>>> r.writeTo( >>>>>> AbstractRootElementProvider.java:159) >>>>>> ~[jersey-core-1.19.jar:1.19] >>>>>> at >>>>>> com.sun.jersey.api.client.RequestWriter.writeRequestEntity( >>>>>> RequestWriter.java:300) >>>>>> ~[jersey-client-1.19.jar:1.19] >>>>>> at >>>>>> com.sun.jersey.client.urlconnection.URLConnectionClientHandl >>>> er._invoke( >>>>>> URLConnectionClientHandler.java:217) >>>>>> ~[jersey-client-1.19.jar:1.19] >>>>>> at >>>>>> com.sun.jersey.client.urlconnection.URLConnectionClientHandl >>>> er.handle( >>>>>> URLConnectionClientHandler.java:153) >>>>>> ~[jersey-client-1.19.jar:1.19] >>>>>> ... 11 common frames omitted >>>>>> Caused by: javax.xml.bind.MarshalException: null >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerI >>>> mpl.java:325) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal( >>>>>> MarshallerImpl.java:249) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> javax.xml.bind.helpers.AbstractMarshallerImpl.marshal( >>>>>> AbstractMarshallerImpl.java:95) >>>>>> ~[na:1.8.0_112] >>>>>> at >>>>>> com.sun.jersey.core.provider.jaxb.AbstractRootElementProvide >>>> r.writeTo( >>>>>> AbstractRootElementProvider.java:179) >>>>>> ~[jersey-core-1.19.jar:1.19] >>>>>> at >>>>>> com.sun.jersey.core.provider.jaxb.AbstractRootElementProvide >>>> r.writeTo( >>>>>> AbstractRootElementProvider.java:157) >>>>>> ~[jersey-core-1.19.jar:1.19] >>>>>> ... 14 common frames omitted >>>>>> Caused by: javax.net.ssl.SSLException: Unrecognized SSL message, >>>>> plaintext >>>>>> connection? >>>>>> at sun.security.ssl.InputRecord.handleUnknownRecord(InputRecord >>>> .java:710) >>>>>> ~[na:1.8.0_112] >>>>>> at sun.security.ssl.InputRecord.read(InputRecord.java:527) >>>>> ~[na:1.8.0_112] >>>>>> at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973) >>>>>> ~[na:1.8.0_112] >>>>>> at >>>>>> sun.security.ssl.SSLSocketImpl.performInitialHandshake( >>>>>> SSLSocketImpl.java:1375) >>>>>> ~[na:1.8.0_112] >>>>>> at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl. >>>> java:1403) >>>>>> ~[na:1.8.0_112] >>>>>> at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl. >>>> java:1387) >>>>>> ~[na:1.8.0_112] >>>>>> at >>>>>> sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsCli >>>> ent.java:559) >>>>>> ~[na:1.8.0_112] >>>>>> at >>>>>> sun.net.www.protocol.https.AbstractDelegateHttpsURLConnectio >>>> n.connect( >>>>>> AbstractDelegateHttpsURLConnection.java:185) >>>>>> ~[na:1.8.0_112] >>>>>> at >>>>>> sun.net.www.protocol.http.HttpURLConnection.getOutputStream0( >>>>>> HttpURLConnection.java:1316) >>>>>> ~[na:1.8.0_112] >>>>>> at >>>>>> sun.net.www.protocol.http.HttpURLConnection.getOutputStream( >>>>>> HttpURLConnection.java:1291) >>>>>> ~[na:1.8.0_112] >>>>>> at >>>>>> sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream( >>>>>> HttpsURLConnectionImpl.java:250) >>>>>> ~[na:1.8.0_112] >>>>>> at >>>>>> com.sun.jersey.client.urlconnection.URLConnectionClientHandler$1$ >>>>>> 1.getOutputStream(URLConnectionClientHandler.java:238) >>>>>> ~[jersey-client-1.19.jar:1.19] >>>>>> at >>>>>> com.sun.jersey.api.client.CommittingOutputStream.commitStream( >>>>>> CommittingOutputStream.java:117) >>>>>> ~[jersey-client-1.19.jar:1.19] >>>>>> at >>>>>> com.sun.jersey.api.client.CommittingOutputStream.write( >>>>>> CommittingOutputStream.java:89) >>>>>> ~[jersey-client-1.19.jar:1.19] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.output.UTF8XmlOutput.write( >>>>>> UTF8XmlOutput.java:409) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >> com.sun.xml.bind.v2.runtime.output.Encoded.write(Encoded.java:167) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.output.UTF8XmlOutput. >>>>>> writeName(UTF8XmlOutput.java:239) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.output.UTF8XmlOutput. >>>>>> beginStartTag(UTF8XmlOutput.java:167) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.leafElement( >>>>>> XMLSerializer.java:327) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl$St >>>> ringImplImpl. >>>>>> writeLeafElement(RuntimeBuiltinLeafInfoImpl.java:1045) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl$St >>>> ringImplImpl. >>>>>> writeLeafElement(RuntimeBuiltinLeafInfoImpl.java:1024) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.reflect.TransducedAccessor$ >>>>>> CompositeTransducedAccessorImpl.writeLeafElement( >>>>>> TransducedAccessor.java:256) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.property.SingleElementLeafProperty. >>>>>> serializeBody(SingleElementLeafProperty.java:128) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody( >>>>>> ClassBeanInfoImpl.java:344) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType( >>>>>> XMLSerializer.java:700) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.property.ArrayElementNodeProperty. >>>>>> serializeItem(ArrayElementNodeProperty.java:69) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.property.ArrayElementProperty. >>>>>> serializeListBody(ArrayElementProperty.java:172) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.property.ArrayERProperty. >>>>>> serializeBody(ArrayERProperty.java:159) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody( >>>>>> ClassBeanInfoImpl.java:344) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType( >>>>>> XMLSerializer.java:700) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty. >>>>>> serializeBody(SingleElementNodeProperty.java:156) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody( >>>>>> ClassBeanInfoImpl.java:344) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType( >>>>>> XMLSerializer.java:700) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty. >>>>>> serializeBody(SingleElementNodeProperty.java:156) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody( >>>>>> ClassBeanInfoImpl.java:344) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsSoleContent( >>>>>> XMLSerializer.java:597) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeRoot( >>>>>> ClassBeanInfoImpl.java:328) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot( >>>>>> XMLSerializer.java:498) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerI >>>> mpl.java:320) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> ... 18 common frames omitted >>>>>> 2016-12-15 01:25:00,363 WARN [Replicate Request Thread-4] >>>>>> o.a.n.c.c.h.r.ThreadPoolRequestReplicator >>>>>> com.sun.jersey.api.client.ClientHandlerException: >>>>>> javax.ws.rs.WebApplicationException: >> javax.xml.bind.MarshalException >>>>>> - with linked exception: >>>>>> [javax.net.ssl.SSLException: Unrecognized SSL message, plaintext >>>>>> connection?] >>>>>> at >>>>>> com.sun.jersey.client.urlconnection.URLConnectionClientHandl >>>> er.handle( >>>>>> URLConnectionClientHandler.java:155) >>>>>> ~[jersey-client-1.19.jar:1.19] >>>>>> at com.sun.jersey.api.client.Client.handle(Client.java:652) >>>>>> ~[jersey-client-1.19.jar:1.19] >>>>>> at >> com.sun.jersey.api.client.WebResource.handle(WebResource.java:682) >>>>>> ~[jersey-client-1.19.jar:1.19] >>>>>> at com.sun.jersey.api.client.WebResource.access$200(WebResource >>>> .java:74) >>>>>> ~[jersey-client-1.19.jar:1.19] >>>>>> at com.sun.jersey.api.client.WebResource$Builder.post( >>>>>> WebResource.java:560) >>>>>> ~[jersey-client-1.19.jar:1.19] >>>>>> at >>>>>> org.apache.nifi.cluster.coordination.http.replication. >>>>>> ThreadPoolRequestReplicator.replicateRequest(ThreadPoolReque >>>> stReplicator. >>>>>> java:587) >>>>>> ~[nifi-framework-cluster-1.1.0-A1-SNAPSHOT.jar:1.1.0-A1-SNAPSHOT] >>>>>> at >>>>>> org.apache.nifi.cluster.coordination.http.replication. >>>>>> ThreadPoolRequestReplicator$NodeHttpRequest.run( >>>>>> ThreadPoolRequestReplicator.java:770) >>>>>> ~[nifi-framework-cluster-1.1.0-A1-SNAPSHOT.jar:1.1.0-A1-SNAPSHOT] >>>>>> at >>>>> >> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) >>>>>> [na:1.8.0_112] >>>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:266) >>>>> [na:1.8.0_112] >>>>>> at >>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker( >>>>>> ThreadPoolExecutor.java:1142) >>>>>> [na:1.8.0_112] >>>>>> at >>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run( >>>>>> ThreadPoolExecutor.java:617) >>>>>> [na:1.8.0_112] >>>>>> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_112] >>>>>> Caused by: javax.ws.rs.WebApplicationException: >>>>>> javax.xml.bind.MarshalException >>>>>> - with linked exception: >>>>>> [javax.net.ssl.SSLException: Unrecognized SSL message, plaintext >>>>>> connection?] >>>>>> at >>>>>> com.sun.jersey.core.provider.jaxb.AbstractRootElementProvide >>>> r.writeTo( >>>>>> AbstractRootElementProvider.java:159) >>>>>> ~[jersey-core-1.19.jar:1.19] >>>>>> at >>>>>> com.sun.jersey.api.client.RequestWriter.writeRequestEntity( >>>>>> RequestWriter.java:300) >>>>>> ~[jersey-client-1.19.jar:1.19] >>>>>> at >>>>>> com.sun.jersey.client.urlconnection.URLConnectionClientHandl >>>> er._invoke( >>>>>> URLConnectionClientHandler.java:217) >>>>>> ~[jersey-client-1.19.jar:1.19] >>>>>> at >>>>>> com.sun.jersey.client.urlconnection.URLConnectionClientHandl >>>> er.handle( >>>>>> URLConnectionClientHandler.java:153) >>>>>> ~[jersey-client-1.19.jar:1.19] >>>>>> ... 11 common frames omitted >>>>>> Caused by: javax.xml.bind.MarshalException: null >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerI >>>> mpl.java:325) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal( >>>>>> MarshallerImpl.java:249) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> javax.xml.bind.helpers.AbstractMarshallerImpl.marshal( >>>>>> AbstractMarshallerImpl.java:95) >>>>>> ~[na:1.8.0_112] >>>>>> at >>>>>> com.sun.jersey.core.provider.jaxb.AbstractRootElementProvide >>>> r.writeTo( >>>>>> AbstractRootElementProvider.java:179) >>>>>> ~[jersey-core-1.19.jar:1.19] >>>>>> at >>>>>> com.sun.jersey.core.provider.jaxb.AbstractRootElementProvide >>>> r.writeTo( >>>>>> AbstractRootElementProvider.java:157) >>>>>> ~[jersey-core-1.19.jar:1.19] >>>>>> ... 14 common frames omitted >>>>>> Caused by: javax.net.ssl.SSLException: Unrecognized SSL message, >>>>> plaintext >>>>>> connection? >>>>>> at sun.security.ssl.InputRecord.handleUnknownRecord(InputRecord >>>> .java:710) >>>>>> ~[na:1.8.0_112] >>>>>> at sun.security.ssl.InputRecord.read(InputRecord.java:527) >>>>> ~[na:1.8.0_112] >>>>>> at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973) >>>>>> ~[na:1.8.0_112] >>>>>> at >>>>>> sun.security.ssl.SSLSocketImpl.performInitialHandshake( >>>>>> SSLSocketImpl.java:1375) >>>>>> ~[na:1.8.0_112] >>>>>> at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl. >>>> java:1403) >>>>>> ~[na:1.8.0_112] >>>>>> at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl. >>>> java:1387) >>>>>> ~[na:1.8.0_112] >>>>>> at >>>>>> sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsCli >>>> ent.java:559) >>>>>> ~[na:1.8.0_112] >>>>>> at >>>>>> sun.net.www.protocol.https.AbstractDelegateHttpsURLConnectio >>>> n.connect( >>>>>> AbstractDelegateHttpsURLConnection.java:185) >>>>>> ~[na:1.8.0_112] >>>>>> at >>>>>> sun.net.www.protocol.http.HttpURLConnection.getOutputStream0( >>>>>> HttpURLConnection.java:1316) >>>>>> ~[na:1.8.0_112] >>>>>> at >>>>>> sun.net.www.protocol.http.HttpURLConnection.getOutputStream( >>>>>> HttpURLConnection.java:1291) >>>>>> ~[na:1.8.0_112] >>>>>> at >>>>>> sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream( >>>>>> HttpsURLConnectionImpl.java:250) >>>>>> ~[na:1.8.0_112] >>>>>> at >>>>>> com.sun.jersey.client.urlconnection.URLConnectionClientHandler$1$ >>>>>> 1.getOutputStream(URLConnectionClientHandler.java:238) >>>>>> ~[jersey-client-1.19.jar:1.19] >>>>>> at >>>>>> com.sun.jersey.api.client.CommittingOutputStream.commitStream( >>>>>> CommittingOutputStream.java:117) >>>>>> ~[jersey-client-1.19.jar:1.19] >>>>>> at >>>>>> com.sun.jersey.api.client.CommittingOutputStream.write( >>>>>> CommittingOutputStream.java:89) >>>>>> ~[jersey-client-1.19.jar:1.19] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.output.UTF8XmlOutput.write( >>>>>> UTF8XmlOutput.java:409) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >> com.sun.xml.bind.v2.runtime.output.Encoded.write(Encoded.java:167) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.output.UTF8XmlOutput. >>>>>> writeName(UTF8XmlOutput.java:239) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.output.UTF8XmlOutput. >>>>>> beginStartTag(UTF8XmlOutput.java:167) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.leafElement( >>>>>> XMLSerializer.java:327) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl$St >>>> ringImplImpl. >>>>>> writeLeafElement(RuntimeBuiltinLeafInfoImpl.java:1045) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl$St >>>> ringImplImpl. >>>>>> writeLeafElement(RuntimeBuiltinLeafInfoImpl.java:1024) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.reflect.TransducedAccessor$ >>>>>> CompositeTransducedAccessorImpl.writeLeafElement( >>>>>> TransducedAccessor.java:256) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.property.SingleElementLeafProperty. >>>>>> serializeBody(SingleElementLeafProperty.java:128) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody( >>>>>> ClassBeanInfoImpl.java:344) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType( >>>>>> XMLSerializer.java:700) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.property.ArrayElementNodeProperty. >>>>>> serializeItem(ArrayElementNodeProperty.java:69) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.property.ArrayElementProperty. >>>>>> serializeListBody(ArrayElementProperty.java:172) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.property.ArrayERProperty. >>>>>> serializeBody(ArrayERProperty.java:159) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody( >>>>>> ClassBeanInfoImpl.java:344) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType( >>>>>> XMLSerializer.java:700) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty. >>>>>> serializeBody(SingleElementNodeProperty.java:156) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody( >>>>>> ClassBeanInfoImpl.java:344) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType( >>>>>> XMLSerializer.java:700) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty. >>>>>> serializeBody(SingleElementNodeProperty.java:156) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody( >>>>>> ClassBeanInfoImpl.java:344) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsSoleContent( >>>>>> XMLSerializer.java:597) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeRoot( >>>>>> ClassBeanInfoImpl.java:328) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot( >>>>>> XMLSerializer.java:498) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> at >>>>>> com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerI >>>> mpl.java:320) >>>>>> ~[jaxb-impl-2.2.3-1.jar:2.2.3] >>>>>> ... 18 common frames omitted >>>>>> >>>>>> Rick. >>>>>> >>>>>> >>>>>> On Wed, Dec 14, 2016 at 4:06 PM Matt Gilman < >> [email protected]> >>>>>> wrote: >>>>>> >>>>>>> Rick, >>>>>>> >>>>>>> The signature of the endpoint that accepts a template upload has >> not >>>>>>> changed (other than the path). Are you running a NiFi cluster in >> the >>>>>>> trusted environment or is it a standalone instance? Is the issue >>>> when >>>>> you >>>>>>> attempt to upload the template or when you attempt to drop the >>>> template >>>>>> on >>>>>>> your graph? Just wanted to confirm. >>>>>>> >>>>>>> The mixed content error sounds like a client side message when a >>>>> webpage >>>>>> is >>>>>>> referencing resources (img, js, css, etc) from different sources. >>>> For >>>>>>> instance, loading a webpage over HTTPS which is referencing a >>>> resource >>>>>> over >>>>>>> HTTP. The frontend resources should all be bundled with the >>>> application >>>>>> and >>>>>>> they should be all loaded through your proxy. >>>>>>> >>>>>>> Are there any other errors or messages? Maybe check the user log >> on >>>> the >>>>>>> NiFi instances. Or maybe the logs of the proxy server to see the >>>>> requests >>>>>>> being processed. Hoping there's more details being logged >> someplace. >>>>>>> >>>>>>> Thanks >>>>>>> >>>>>>> Matt >>>>>>> >>>>>>> On Wed, Dec 14, 2016 at 1:11 PM, Richard St. John < >>>> [email protected] >>>>>> >>>>>>> wrote: >>>>>>> >>>>>>>> I am using an nginx reverse proxy in front of NiFi 1.1.x. Here >>>> are >>>>> the >>>>>>>> important details. First, nginx is using basic auth and SSL. >>>> Second, >>>>>>> NiFi >>>>>>>> is running in a trusted environment without SSL. We >> successfully >>>>> used >>>>>>> the >>>>>>>> same layout for NiFi 0.7.x without issue. However, starting >> with >>>>> 1.0.x >>>>>>> and >>>>>>>> continuing in 1.1.x, I cannot import a saved template. The >> error >>>>>>> complains >>>>>>>> about mixed content (http and https). Has this layout been >> tested >>>>> and >>>>>>>> validated? If so, what proxy headers am I missing? >>>>>>>> >>>>>>>> Below are the proxy headers I pass from nginx to NiFi: >>>>>>>> proxy_set_header X-ProxyScheme $scheme; >>>>>>>> proxy_set_header X-ProxyHost $host; >>>>>>>> proxy_set_header X-ProxyPort 443; >>>>>>>> proxy_set_header X-ProxyContextPath ""; >>>>>>>> >>>>>>>> >>>>>>>> Thanks Rick. >>>>>>>> -- >>>>>>>> >>>>>>>> ---------------------------- >>>>>>>> Richard St. John, Ph.D. >>>>>>>> Senior Software Engineer, Applied Mathematician >>>>>>>> Asymmetrik, Ltd. >>>>>>>> >>>>>>> >>>>>> -- >>>>>> >>>>>> ---------------------------- >>>>>> Richard St. John, Ph.D. >>>>>> Senior Software Engineer, Applied Mathematician >>>>>> Asymmetrik, Ltd. >>>>>> >>>>> >>>> -- >>>> >>>> ---------------------------- >>>> Richard St. John, Ph.D. >>>> Senior Software Engineer, Applied Mathematician >>>> Asymmetrik, Ltd. >>>> >>> >>> >> > -- > > ---------------------------- > Richard St. John, Ph.D. > Senior Software Engineer, Applied Mathematician > Asymmetrik, Ltd.
