Hi Pubudu, Whenever you access a Https endpoint, you have to import back-end's certificate to client-truststore. That is the default requirement if you are using SSL between back-end and ESB.
Thanks. On Mon, Aug 8, 2016 at 10:13 AM, Pubudu Priyashan <[email protected]> wrote: > Hi ESB team, > > I have observed the following behaviour when invoking a secure proxy in a > clustered setup which calls an external http endpoint [1] with ESB 5.0.0 > (Tested with RC1). Can you please inform if this behaviour is correct or > are there any alternative methods? > > I have a secure proxy in my ESB cluster where it calls an external https > endpoint [1]. When I invoked this in a single node in my local machine, it > returned the response as expected. When I created the same secure proxy in > a Cluster, I received this error [2]. I was able to get rid of this error > by adding the certificate of the endpoint to client-truststore.jks file of > each ESB node of the cluster. > > My question is, is this behaviour correct? Should we have to always add > the https endpoint certificate every time we need to use an external > endpoint in a secure proxy? Or is there another approach where we don't > have to do this and not required to add the keys to client-truststore.jks > and restart ESB nodes? This might not be convenient if we have a lot of > https endpoints being called via a secure proxy in ESB. Can you please > advice? > > Thanks! > > [1] https://demo5224632.mockable.io/test123 > > [2] Exception in ESB worker node:- > > TID: [-1] [] [2016-08-04 05:34:33,682] DEBUG > {org.apache.synapse.transport.http.wire} > - HTTPS-Listener I/O dispatcher-1 >> "GET /services/SecureP1 > HTTP/1.1[\r][\n]" {org.apache.synapse.transport.http.wire} > TID: [-1] [] [2016-08-04 05:34:33,683] DEBUG > {org.apache.synapse.transport.http.wire} > - HTTPS-Listener I/O dispatcher-1 >> "X-Forwarded-Host: > wrk.esb500.wso2.com[\r][\n]" {org.apache.synapse.transport.http.wire} > TID: [-1] [] [2016-08-04 05:34:33,683] DEBUG > {org.apache.synapse.transport.http.wire} > - HTTPS-Listener I/O dispatcher-1 >> "X-Forwarded-Server: > wrk.esb500.wso2.com[\r][\n]" {org.apache.synapse.transport.http.wire} > TID: [-1] [] [2016-08-04 05:34:33,683] DEBUG > {org.apache.synapse.transport.http.wire} > - HTTPS-Listener I/O dispatcher-1 >> "X-Forwarded-For: > 10.100.7.95[\r][\n]" {org.apache.synapse.transport.http.wire} > TID: [-1] [] [2016-08-04 05:34:33,683] DEBUG > {org.apache.synapse.transport.http.wire} > - HTTPS-Listener I/O dispatcher-1 >> "Connection: upgrade[\r][\n]" > {org.apache.synapse.transport.http.wire} > TID: [-1] [] [2016-08-04 05:34:33,683] DEBUG > {org.apache.synapse.transport.http.wire} > - HTTPS-Listener I/O dispatcher-1 >> "Host: ssl.esb500.com[\r][\n]" > {org.apache.synapse.transport.http.wire} > TID: [-1] [] [2016-08-04 05:34:33,684] DEBUG > {org.apache.synapse.transport.http.wire} > - HTTPS-Listener I/O dispatcher-1 >> "Authorization: Basic > YWRtaW5lc2I1MDA6ZXNiNTAwQERhcw==[\r][\n]" {org.apache.synapse.transport. > http.wire} > TID: [-1] [] [2016-08-04 05:34:33,684] DEBUG > {org.apache.synapse.transport.http.wire} > - HTTPS-Listener I/O dispatcher-1 >> "Cache-Control: no-cache[\r][\n]" > {org.apache.synapse.transport.http.wire} > TID: [-1] [] [2016-08-04 05:34:33,684] DEBUG > {org.apache.synapse.transport.http.wire} > - HTTPS-Listener I/O dispatcher-1 >> "User-Agent: Mozilla/5.0 (X11; Linux > x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 > Safari/537.36[\r][\n]" {org.apache.synapse.transport.http.wire} > TID: [-1] [] [2016-08-04 05:34:33,684] DEBUG > {org.apache.synapse.transport.http.wire} > - HTTPS-Listener I/O dispatcher-1 >> "Postman-Token: > 60dc8ef4-36b0-03bd-5841-7efad2189071[\r][\n]" > {org.apache.synapse.transport.http.wire} > TID: [-1] [] [2016-08-04 05:34:33,684] DEBUG > {org.apache.synapse.transport.http.wire} > - HTTPS-Listener I/O dispatcher-1 >> "Accept: */*[\r][\n]" > {org.apache.synapse.transport.http.wire} > TID: [-1] [] [2016-08-04 05:34:33,685] DEBUG > {org.apache.synapse.transport.http.wire} > - HTTPS-Listener I/O dispatcher-1 >> "Accept-Encoding: gzip, deflate, > sdch[\r][\n]" {org.apache.synapse.transport.http.wire} > TID: [-1] [] [2016-08-04 05:34:33,685] DEBUG > {org.apache.synapse.transport.http.wire} > - HTTPS-Listener I/O dispatcher-1 >> "Accept-Language: > en-US,en;q=0.8[\r][\n]" {org.apache.synapse.transport.http.wire} > TID: [-1] [] [2016-08-04 05:34:33,685] DEBUG > {org.apache.synapse.transport.http.wire} > - HTTPS-Listener I/O dispatcher-1 >> "[\r][\n]" > {org.apache.synapse.transport.http.wire} > TID: [-1] [] [2016-08-04 05:34:33,813] DEBUG > {org.apache.synapse.transport.http.wire} > - HTTPS-Sender I/O dispatcher-1 << "CONNECT demo5224632.mockable.io:443 > HTTP/1.1[\r][\n]" {org.apache.synapse.transport.http.wire} > TID: [-1] [] [2016-08-04 05:34:33,814] DEBUG > {org.apache.synapse.transport.http.wire} > - HTTPS-Sender I/O dispatcher-1 << "Host: > demo5224632.mockable.io:443[\r][\n]" > {org.apache.synapse.transport.http.wire} > TID: [-1] [] [2016-08-04 05:34:33,814] DEBUG > {org.apache.synapse.transport.http.wire} > - HTTPS-Sender I/O dispatcher-1 << "Proxy-Connection: Keep-Alive[\r][\n]" > {org.apache.synapse.transport.http.wire} > TID: [-1] [] [2016-08-04 05:34:33,814] DEBUG > {org.apache.synapse.transport.http.wire} > - HTTPS-Sender I/O dispatcher-1 << "Proxy-Authorization: Basic > c3F1aWQzdTpzcXVpZDN1[\r][\n]" {org.apache.synapse.transport.http.wire} > TID: [-1] [] [2016-08-04 05:34:33,814] DEBUG > {org.apache.synapse.transport.http.wire} > - HTTPS-Sender I/O dispatcher-1 << "[\r][\n]" > {org.apache.synapse.transport.http.wire} > TID: [-1] [] [2016-08-04 05:34:33,874] DEBUG > {org.apache.synapse.transport.http.wire} > - HTTPS-Sender I/O dispatcher-1 >> "HTTP/1.1 200 Connection > established[\r][\n]" {org.apache.synapse.transport.http.wire} > TID: [-1] [] [2016-08-04 05:34:33,875] DEBUG > {org.apache.synapse.transport.http.wire} > - HTTPS-Sender I/O dispatcher-1 >> "[\r][\n]" > {org.apache.synapse.transport.http.wire} > TID: [-1] [] [2016-08-04 05:34:33,998] ERROR > {org.apache.synapse.transport.passthru.TargetHandler} > - I/O error: General SSLEngine problem {org.apache.synapse.transport. > passthru.TargetHandler} > javax.net.ssl.SSLHandshakeException: General SSLEngine problem > at sun.security.ssl.Handshaker.checkThrown(Handshaker.java:1431) > at sun.security.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl.java:535) > at sun.security.ssl.SSLEngineImpl.writeAppRecord(SSLEngineImpl.java:1214) > at sun.security.ssl.SSLEngineImpl.wrap(SSLEngineImpl.java:1186) > at javax.net.ssl.SSLEngine.wrap(SSLEngine.java:469) > at org.apache.http.nio.reactor.ssl.SSLIOSession.doWrap( > SSLIOSession.java:237) > at org.apache.http.nio.reactor.ssl.SSLIOSession.doHandshake( > SSLIOSession.java:271) > at org.apache.http.nio.reactor.ssl.SSLIOSession. > isAppInputReady(SSLIOSession.java:410) > at org.apache.http.impl.nio.reactor.AbstractIODispatch. > inputReady(AbstractIODispatch.java:119) > at org.apache.http.impl.nio.reactor.BaseIOReactor. > readable(BaseIOReactor.java:159) > at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent( > AbstractIOReactor.java:338) > at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents( > AbstractIOReactor.java:316) > at org.apache.http.impl.nio.reactor.AbstractIOReactor. > execute(AbstractIOReactor.java:277) > at org.apache.http.impl.nio.reactor.BaseIOReactor.execute( > BaseIOReactor.java:105) > at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$ > Worker.run(AbstractMultiworkerIOReactor.java:586) > at java.lang.Thread.run(Thread.java:745) > Caused by: javax.net.ssl.SSLHandshakeException: General SSLEngine problem > at sun.security.ssl.Alerts.getSSLException(Alerts.java:192) > at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1728) > at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:304) > at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296) > at sun.security.ssl.ClientHandshaker.serverCertificate( > ClientHandshaker.java:1506) > at sun.security.ssl.ClientHandshaker.processMessage( > ClientHandshaker.java:216) > at sun.security.ssl.Handshaker.processLoop(Handshaker.java:979) > at sun.security.ssl.Handshaker$1.run(Handshaker.java:919) > at sun.security.ssl.Handshaker$1.run(Handshaker.java:916) > at java.security.AccessController.doPrivileged(Native Method) > at sun.security.ssl.Handshaker$DelegatedTask.run(Handshaker.java:1369) > at org.apache.http.nio.reactor.ssl.SSLIOSession.doRunTask( > SSLIOSession.java:255) > at org.apache.http.nio.reactor.ssl.SSLIOSession.doHandshake( > SSLIOSession.java:293) > ... 9 more > Caused by: sun.security.validator.ValidatorException: PKIX path building > failed: sun.security.provider.certpath.SunCertPathBuilderException: > unable to find valid certification path to requested target > at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:387) > at sun.security.validator.PKIXValidator.engineValidate( > PKIXValidator.java:292) > at sun.security.validator.Validator.validate(Validator.java:260) > at sun.security.ssl.X509TrustManagerImpl.validate( > X509TrustManagerImpl.java:324) > at sun.security.ssl.X509TrustManagerImpl.checkTrusted( > X509TrustManagerImpl.java:281) > at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted( > X509TrustManagerImpl.java:136) > at sun.security.ssl.ClientHandshaker.serverCertificate( > ClientHandshaker.java:1493) > ... 17 more > Caused by: sun.security.provider.certpath.SunCertPathBuilderException: > unable to find valid certification path to requested target > at sun.security.provider.certpath.SunCertPathBuilder. > build(SunCertPathBuilder.java:146) > at sun.security.provider.certpath.SunCertPathBuilder.engineBuild( > SunCertPathBuilder.java:131) > at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280) > at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:382) > ... 23 more > TID: [-1234] [] [2016-08-04 05:34:34,004] WARN > {org.apache.synapse.endpoints.EndpointContext} - Endpoint : > AnonymousEndpoint with address https://demo5224632.mockable.io/test123 > will be marked SUSPENDED as it failed {org.apache.synapse.endpoints. > EndpointContext} > TID: [-1234] [] [2016-08-04 05:34:34,004] WARN > {org.apache.synapse.endpoints.EndpointContext} - Suspending endpoint : > AnonymousEndpoint with address https://demo5224632.mockable.io/test123 - > last suspend duration was : 30000ms and current suspend duration is : > 30000ms - Next retry after : Thu Aug 04 05:35:04 UTC 2016 > {org.apache.synapse.endpoints.EndpointContext} > TID: [-1234] [] [2016-08-04 05:34:34,006] INFO > {org.apache.synapse.mediators.builtin.LogMediator} - To: > /services/SecureP1, MessageID: urn:uuid:9ee295f6-3329-4e5e-b41a-cf690d1da0f7, > Direction: request, MESSAGE = Executing default 'fault' sequence, > ERROR_CODE = 101500, ERROR_MESSAGE = Error in Sender, Envelope: <?xml > version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv=" > http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body/></soapenv:Envelope> > {org.apache.synapse.mediators.builtin.LogMediator} > > Cheers, > Pubudu D.P > Senior Software Engineer - QA Team | WSO2 inc. > Mobile : +94775464547 > > Linkedin: https://uk.linkedin.com/in/pubududp > Medium: https://medium.com/@pubududp > > > _______________________________________________ > Dev mailing list > [email protected] > http://wso2.org/cgi-bin/mailman/listinfo/dev > > -- Jagath Ariyarathne Technical Lead WSO2 Inc. http://wso2.com/ Email: [email protected] Mob : +94 77 386 7048 <http://wso2.com/signature>
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
