現在 メキシコ ノマド 中!!

[curl] HTTPS通信できない (unable to get local issuer certificate)

この記事はこんな人におすすめ
  • curlでのエラーを理解し解消したい

目次

エラー内容

console
> curl https://noknow.info
curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here: https://curl.haxx.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.

原因

CA証明書の検証エラーです。

対策

方法1: 証明書の検証を無効にする

-k / --insecure オプションを利用すれば、SSLを使用しているときに、もし安全でないサーバの場合でも許可して通信することができます。
送信先URLが保証できるのであれば、この方法も良いと思います。

console
> curl -k https://noknow.info
OR
> curl --insecure https://noknow.info

方法2: CA証明書を指定する

以下のURLへアクセスすると、CA証明書をダウンロードすることができます。

ダウンロードしたcacert.pemを任意のディレクトリに格納し、--cacert オプションを指定します。

方法3: CA証明書を環境変数を利用して設定する

環境変数名は、CURL_CA_BUNDLE です。
CURL_CA_BUNDLE にCA証明書のパスを設定します。

console
> export CURL_CA_BUNDLE=/usr/local/share/curl/cacert.pem
> curl https://noknow.info

🌟この記事は私が書いています🌟

Kakeru profile

Kakeru Sato

ソフトウェアデベロッパー

フルスタックエンジニア