はじめに
Node.jsで、自己署名証明書を設定する方法を紹介する。
エラー内容
Node.jsで以下のようなエラーが出る場合を対象とする。
RequestError: self signed certificate
動作確認環境
- Node.js : v14.21.3
- OS
- Ubuntu 22.04
- Windows 10
方法
自己署名証明書を取得し、それを信頼するように設定する。
証明書の取得
アクセスしたいサーバに自己署名証明書を設定してある場合は、以下のコマンドで自己署名証明書を取得する。
echo | openssl s_client -servername {server_address} -connect :443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > cert.pem
- {server_address}
- 証明書を取得したいサーバのアドレス
- cert.pem : 任意の自己署名証明書のパス
Node.jsに自己署名証明書を設定する
NODE_EXTRA_CA_CERTS
環境変数に、上記の自己署名証明書のパスを通す。環境変数を設定後は、通常通りNode.jsを起動すればよい。
Ubuntuの場合
export NODE_EXTRA_CA_CERTS=cert.pem
- cert.pemは、パスが通るように指定する
Windowsの場合
set NODE_EXTRA_CA_CERTS=cert.pem
- cert.pemは、パスが通るように指定する
まとめ
Node.jsで、自己署名証明書を設定する方法を紹介した。
参考