はじめに

axios でリクエストした際に unable to verify the first certificate となる場合の対応方法。

自己生成証明書(オレオレ証明書)を利用している環境などで発生すると思われる。ちゃんとした証明書であれば問題ないはずなので、あくまでも暫定的な対応方法。

TL;DR

この記事が参考になった方
ここここからチャージや購入してくれると嬉しいです(ブログ主へのプレゼントではなく、ご自身へのチャージ)
欲しいもの / Wish list

目次

  1. はじめに
  2. TL;DR
  3. 環境・条件
  4. 詳細
  5. まとめ
  6. 参考文献

環境・条件

1
2
3
4
5
6
7
8
9
10
11
$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 10 (buster)"

$ node -v
v12.16.2

$ npm -v
6.14.4

$ npm v axios
axios@0.19.2 | MIT | deps: 1 | versions: 42

詳細

comment 260841069 - How to ignore SSL issues · Issue #535 に記載されている通り、リクエスト時に httpsAgentrejectUnauthorized: true で生成したエージェントを指定すれば良い。

1
2
3
4
5
6
7
8
9
10
11
12
const axios = require('axios');
const https = require('https');

const some_api = async () => {
const params = { foo: 'bar' };
const httpsAgent = new https.Agent({ rejectUnauthorized: false });
await axios.post(
"/path/to/api",
params,
{ httpsAgent }
);
};

他にも Request Headers などを指定するような場合は以下のようにすれば良い。

1
2
3
4
5
await axios.post(
"/path/to/api",
params,
{ headers: { Authorization: 'xxxx' }, httpsAgent }
);

まとめ

参考文献

関連記事

この記事が参考になった方
ここここからチャージや購入してくれると嬉しいです(ブログ主へのプレゼントではなく、ご自身へのチャージ)
欲しいもの / Wish list