Axios如何处理mTLS请求?

xmakbtuz  于 6个月前  发布在  iOS
关注(0)|答案(1)|浏览(63)

描述问题

你好!

假设我使用mTLS证书发起请求。

import * as fs from 'node:fs';
import * as https from 'node:https';

let axiosConfig = {
  headers: { 'Content-Type': 'application/json' };
}

const httpsAgent = new https.Agent({
  key: fs.readFileSync(path.join(__dirname, 'client.key')),
  cert: fs.readFileSync(path.join(__dirname, 'client.crt')),
  ca: fs.readFileSync(path.join(__dirname, 'ca.crt')),
  rejectUnauthorized: true,
});

axiosConfig = {
  ...axiosConfig,
  httpsAgent,
};
const response = await axios.post(webhookUrl, eventDto, axiosConfig);

通常,使用mTLS的服务器会请求证书。但是当请求发送给没有使用mTLS的服务器时,服务器不会请求证书。这会发生什么?Axios的默认行为是什么?
有没有办法强制它?也就是说,如果我加载了mTLS证书,但服务器不使用它,我不希望请求完成。这是可能的吗?

k4aesqcs

k4aesqcs1#

这是一个关于Axios模块的问题。在Babel中,我发现了一个依赖项。问题描述如下:

假设我使用mTLS证书发起请求。以下是示例代码:

import * as fs from 'node:fs';
import * as https from 'node:https';
let axiosConfig = { headers: { 'Content-Type': 'application/json' }; }
const httpsAgent = new https.Agent({ key: fs.readFileSync(path.join(__dirname, 'client.key')), cert: fs.readFileSync(path.join(__dirname, 'client.crt')), ca: fs.readFileSync(path.join(__dirname, 'ca.crt')), rejectUnauthorized: true, });
axiosConfig = { ...axiosConfig, httpsAgent, };
const response = await axios.post(webhookUrl, eventDto, axiosConfig);

通常,使用mTLS的服务器会请求证书。但是当请求发送给没有使用mTLS的服务器时,服务器不会请求证书。这会导致什么情况?Axios的默认行为是什么?有没有办法强制它?例如,如果我加载了mTLS证书,但服务器不使用它,我不希望请求完成。这是可能的吗?

预期行为:无响应
Axios版本:无响应
适配器版本:无响应
浏览器:无响应
浏览器版本:无响应
Node.js版本:无响应
操作系统:无响应
其他库版本:无响应
附加上下文/截图:无响应

请直接回复此电子邮件,查看GitHub上的回复,或取消订阅< https://github.com/notifications/unsubscribe-auth/BJEWAA6UYX7BPV5GMUTNOD3ZJRY23AVCNFSM6AAAAABKAT4OXWVHI2DSMVQWIX3LMV43ASLTON2WKOZSGM3TSMBTHAZDAOA >。您收到此邮件是因为您订阅了此线程。消息ID:***@***.***>

相关问题