开发时,针对 HTTPS 请求抓包,通常会在本地信任一个自签名的证书,通过「中间人攻击」的方式获取报文。

开启中间人代理,通过 request-promise 进行 HTTPS 请求时可能会出现如下错误

1
2
3
4
Error: unable to verify the first certificate
at TLSSocket.onConnectSecure (_tls_wrap.js:1138:34)
at TLSSocket.emit (events.js:188:13)
at TLSSocket._finishInit (_tls_wrap.js:627:8) code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE'

可通过如下配置避免这个问题

1
process.env.NODE_TLS_REJECT_UNAUTHORIZED = 0