"unable to find valid certification path to requested target" error in java based server while accessing it through Nginx

malintha nginx-forum at nginx.us
Tue Feb 3 09:04:34 UTC 2015


Hi,

I have two java based servers. We call it server A and server B. I can call
directly from A to B server. Then I configured call server A to server B
though nginx instance. Then I get following error.

TID: [0] [AM] [2015-02-03 15:17:05,736]  INFO
{org.apache.axis2.transport.http.HTTPSender} -  Unable to sendViaPost to
url[https://wso2is.malintha.com/services/AuthenticationAdmin]
{org.apache.axis2.transport.http.HTTPSender}
org.apache.axis2.AxisFault: javax.net.ssl.SSLException: Connection has been
shutdown: javax.net.ssl.SSLHandshakeException:
sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to find
valid certification path to requested target
	at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
	at
org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:78)
	at
org.apache.axis2.transport.http.AxisRequestEntity.writeRequest(AxisRequestEntity.java:84)
	at
org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:499)
	at
org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2114)
	at
org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096)
	at
org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
	at
org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
	at
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
	at
org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:622)
	at
org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:193)
	at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75)
	at
org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:451)
	at
org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:278)
	at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
	at
org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:430)
	at
org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:225)
	at
org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
	at
org.wso2.carbon.authenticator.stub.AuthenticationAdminStub.login(AuthenticationAdminStub.java:659)
	at
org.wso2.carbon.apimgt.hostobjects.APIProviderHostObject.jsFunction_login(APIProviderHostObject.java:172)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126)
	at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:386)
	at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42)
	at
org.jaggeryjs.rhino.publisher.modules.user.c1._c_anonymous_1(/publisher/modules/user/login.jag:18)
	at
org.jaggeryjs.rhino.publisher.modules.user.c1.call(/publisher/modules/user/login.jag)

Accroding to my understanding I have to put nginx certificate into B servers
trustore. This blogpost mention the solution if we use external java client
http://evanthika.blogspot.com/2014/01/how-to-solve-pkix-path-building-failed.html.

But here we call from nginx instead of java client. What could be reason for
this

Posted at Nginx Forum: http://forum.nginx.org/read.php?2,256416,256416#msg-256416



More information about the nginx mailing list