昨天用 win-acme 把服务器上各个网站的 SSL 证书都部署了一遍,当时测试各个网站的页面都能正常打开,查看证书信息确认了也是新部署的证书,就觉得没问题了。
今天在本地跑 Node.js 程序,结果 axios 调用服务器上的接口时,报 unable to verify the first certificate 这个错误。上网搜索解决方案,有一种方式是在 httpsAgent 的配置中加上 rejectUnauthorized: false 这么一句。
虽然这种方式能够临时解决问题,本地的 JS 项目这么用没什么问题,但是运行在线上的业务应该不能这么配置吧,不然不就失去了 HTTPS 的意义?
那么如果要彻底解决这个问题,该从哪里入手呢?在网上搜索的时候,看见 axios 项目有人提过 issue: https://github.com/axios/axios/issues/4847 ,但是这个问题一直没有官方回复。
1
mMartin 216 天前
https://github.com/go-acme/lego 推荐试试这个项目
|
2
v2yllhwa 216 天前 via Android
检查证书是否包含中间证书,需要证书链完整
|
3
dream4ever OP @mMartin 因为是 Windows 服务器 + IIS 来管理的各个网站,所以用的 win-acme ,这个工具可以自动搞定 IIS 里面各个网站的配置,很省心,其他项目不如这个方便~
|
4
namelesswryyy 216 天前
|
5
mMartin 216 天前
@dream4ever #3 额 是我唐突了
|
6
dream4ever OP @mMartin 哈哈,没关系
|
7
dream4ever OP |
8
Xinu 216 天前
我有一次也遇到了这个问题。证书文件用错了。浏览器能认,但是代码请求不认,找了好久,真的挺坑的。
|