こんにちは、フルスタックエンジニアのryuです。
Linuxでcurlコマンドを実行した際に以下のエラーが発生しました。
$curl https://localhost
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.
今回の記事では、”curl: (60) SSL certificate problem: unable to get local issuer certificate”というエラーの対処方法について詳しく解説します!
curlコマンドのエラー対処方法
証明書の検証を無効にするとエラーが無くなる
先ほどのエラーの対処方法は、証明書の検証を無効にすることです。以下のようにコマンドを入力します。
curl -k https://localhost
or
curl --insecure https://localhost
curlコマンドのオプションで、”-k”もしくは”–insecure”のオプションを付けることでエラーを解決するkとができます。
エラーの原因とは?
エラーの原因は、この文章を翻訳すると分かります。
curl: (60) SSL certificate problem: unable to get local issuer certificate
日本語に訳すとこちら。
SSL証明書の問題:ローカル発行者の証明書を取得できません。
つまり、SSLの証明書に問題があるのです。SSLの証明書に問題があるとは、以下のことが考えられます。
- 証明書の有効期限が切れている
- アクセスしたURLと証明書のURLが違う
- CAの証明書がインストールされていない
私の環境の場合は、CAの証明書がインストールされていないことでエラーがでていました。
証明書自体を修正するためには、手間がかかるので、curlでアクセスしたいだけなら先ほどのオプションを付けることが一番簡単です。
SSLの証明書については、こちらの記事で詳しく解説しているので興味のある方はご覧ください。
・関連記事:サーバー証明書とは?サーバー証明書の仕組みを現役エンジニアが分かりやすく解説します!
curlコマンドのエラー対処方法まとめ
今回の記事では、curlコマンドのエラー対処方法について解説しました。対処方法は”-k”か”–insecure”のオプションを付けることでした。
このエラーは証明書のエラーで表示されるので、証明書のエラーを解決すれば解消できます。しかし、オプションを付けることで簡単にエラーを無くすこともできます!
当ブログでは、このようなITに関連する記事を紹介しているので興味のある方は引き続きご覧ください。