1

因此,我尝试在使用代理和 TLS 授权的节点测试 (AVA) 中进行调用。我在用着:

  • 打字稿:3.9.3
  • ts节点:8.10.2
  • axios:0.21.1
  • https-代理代理:5.0.0

到目前为止我学到了什么:

所以只是用一些代码来结束,这就是我想要做的,我不知道如何实现这一点:

const httpsProxyAgent = new HttpsProxyAgent({
        cert: this.cert,
        key: this.key,
        ca: this.ca,
        host: PROXY_HOST,
        port: PROXY_PORT,
      });
// then later
const config: AxiosRequestConfig = {
  httpsAgent: httpsProxyAgent,
  headers: { ... }
  proxy: false
};

虽然HttpsProxyAgent似乎扩展Agent了那些未使用的选项(证书部分),但我收到UNABLE_TO_VERIFY_LEAF_SIGNATURE错误,表明该选项ca被忽略。有谁知道如何向该代理提供这些证书?我找不到任何答案。我不是节点专家,所以我可能错过了一些明显的东西。

提前致谢!

PS。我也试过Objects.assign()这样

// this proxy agent is working for sure (tested)
const httpsProxyAgent = new HttpsProxyAgent('http://proxy:1234');

// trying to assign certs after creating httpsProxyAgent
Object.assign(httpsAgent.options, {
  ca: this.ca,
  key: this.key,
  cert: this.cert
});

// then again passing it to AxiosRequestConfig.httpAgent and making a call

结果又是一次UNABLE_TO_VERIFY_LEAF_SIGNATURE

PSS。我已经看到这个better-https-proxy-agentgit page)似乎有解决方案,唯一的缺点是我看不到任何 TS 支持。

4

0 回答 0