我尝试使用NodeJS中的请求模块发送访问Pitney Bownes反向地理位置API。
发送以下HTTP请求会返回错误。
request("https://pitneybowes.pbondemand.com/location/address/lookup.json?latitude=LAT&longitude=LONG&searchDistance=1000&appId=APP_ID", function (err, res, body) {});
[错误:UNABLE_TO_VERIFY_LEAF_SIGNATURE]
在我的浏览器中点击相同的URL会返回预期的JSON响应。
从NodeJS平台发送的请求出了什么问题?
答案 0 :(得分:3)
查看服务器的证书CA,中间SSL证书未正确配置存在问题。
我们可以修改请求调用以包含一个属性,以便在运行时忽略此错误。
request({
url: url,
rejectUnauthorized: false
})
外部服务提供商已在其API中验证了此问题,并提供了另一种解决方案,涉及在本地系统上导入证书。
答案 1 :(得分:2)
杰夫对SSL证书是正确的。另一种方法是设置
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
这是IBM DevOps服务中图片查找器应用程序的源代码,用于显示修复程序。 https://hub.jazz.net/project/jstart/Picture%20Finder%20(Node)/overview#https://hub.jazz.net/git/jstart%252FPicture.Finder.%2528Node%2529/contents/master/app/app.js