线上api报错的解决"/>
java客户端代码访问线上api报错的解决
问题描述
当产品部署到正式系统后,第三方客户端访问我们系统报错:SSLHandshakeException异常,看了网上的说法大部分是说要第三方客户端安装证书或者是忽略证书错误。
因为第三方是使用webservice生成的java代码来访问我们系统的,所以没法要求对方修改代码来忽略证书错误。因此首先选择的是给第三方安装证书,但是安装后还是不起作用。
Java客户端报错信息:
javax.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
如图:
解决方法
测试中发现,我本地使用Java代码访问其他HTTPS网站都不报错,所以初步怀疑是我们的网站证书问题。
进入该网站亚数信息-SSL/TLS安全评估报告对HTTPS检查后发现我们网站的证书不完整:
检查nginx配置的ssl证书是crt文件,相比于pem文件缺少了一部分,所以换成pem格式后再次访问就成功了。
更多推荐
java客户端代码访问线上api报错的解决
发布评论