我在 node.js 4.2.x 上使用 axios。我如何提及用于连接到其中一项安全服务的 SSL CA 证书?
有人可以给我指一个示例工作代码吗?
我在 node.js 4.2.x 上使用 axios。我如何提及用于连接到其中一项安全服务的 SSL CA 证书?
有人可以给我指一个示例工作代码吗?
您应该能够Agent
按如下方式使用自定义:
var agent = new https.Agent({
ca: fs.readFileSync('ca.pem')
});
axios.get(url, { agent: agent });
// or
var instance = axios.create({ agent: agent });
instance.get(url);
希望能帮助到你!
就我而言,它是一个.crt
文件,其中包含来自 Godaddy 的一堆证书。当我尝试遵循 @nickuraltsev 提到的示例代码时,出现以下错误。
{ [Error: unable to get local issuer certificate] code: 'UNABLE_TO_GET_ISSUER_CERT_LOCALLY' }
axioshttps
在底层使用模块。所有与证书相关的配置参数都传递到https
.您甚至可以https
直接配置:
https.globalAgent.options.ca = fs.readFileSync('ca.pem'); // Note: this is a global setting
如果您需要有关在模块中使用 SSL 证书的帮助https
,请在 StackOverflow 上提问。
我正在尝试在浏览器中运行这个项目。我找不到可用的 https 模块。你能告诉我这是如何实现的吗?
@voraparth91 您可以将 axios 配置为在 Node.js 中使用特定证书,但不能在浏览器中使用。
@nickuraltsev 有没有其他方法可以建议我在浏览器中为 XHR 请求配置特定证书?
小心,正确的分配方法agent
是使用 field httpsAgent
。
const instance = axios.create({ httpsAgent: agent });
尝试下面的代码有效,感谢团队。
const Agent = new https.Agent({
rejectUnauthorized: false
})
const instance = axios.create()
// instance.defaults.baseURL = `http://${process.env.HOST || 'localhost'}:${process.env.PORT || 3000}`
instance.defaults.httpsAgent = Agent
// instance.defaults.headers.common['Authorization'] = 'Basic YWx0ZXY='
// instance.defaults.timeout = 14500
就我而言,它是一个
.crt
文件,其中包含来自 Godaddy 的一堆证书。当我尝试遵循 @nickuraltsev 提到的示例代码时,出现以下错误。
{ [Error: unable to get local issuer certificate] code: 'UNABLE_TO_GET_ISSUER_CERT_LOCALLY' }
就我而言,它是一个
.crt
文件,其中包含来自 Godaddy 的一堆证书。当我尝试遵循 @nickuraltsev 提到的示例代码时,出现以下错误。
{ [Error: unable to get local issuer certificate] code: 'UNABLE_TO_GET_ISSUER_CERT_LOCALLY' }
我也遇到了这个问题,能告诉我你是怎么解决的吗?