ホームページ > バックエンド開発 > PHPチュートリアル > PHP での「SSL3_GET_SERVER_CERTIFICATE: 証明書の検証に失敗しました」エラーを解決する方法

PHP での「SSL3_GET_SERVER_CERTIFICATE: 証明書の検証に失敗しました」エラーを解決する方法

DDD
リリース: 2025-01-01 04:38:09
オリジナル
995 人が閲覧しました

How to Resolve the

HTTPS リクエストの「SSL3_GET_SERVER_CERTIFICATE: Certificate Verify Failed」エラーの解決

Web 開発の領域では、安全な通信に HTTPS を利用することが最も重要です。ただし、場合によっては、HTTPS リクエスト中に、悪名高い「SSL3_GET_SERVER_CERTIFICATE: 証明書の検証に失敗しました。CA は正常です。」などのエラーが発生することがあります。

エラーのナビゲート

この場合エラーが発生する場合、これは通常、予期されたサーバー証明書とサーバーによって提示された証明書との間に不一致があることを示します。 CA (認証局) が有効であると見なされているにもかかわらず、証明書の検証に関する問題が解決されません。

PHP 構成による解決

PHP アプリケーションの場合、このエラーに対する簡単な解決策はあります。 php.ini内でcurl.cainfo設定を構成する際。この設定では、信頼されたルート証明書を含むファイルへのパスを指定します。デフォルトでは、PHP は独自のバンドル証明書を使用しますが、定期的に更新されない可能性があります。

エラーを解決するには:

  1. https://curl から ca-certificates バンドルをダウンロードします。 se/ca/cacert.pem.
  2. ダウンロードしたファイルを目的の場所に保存します。 /path/to/cacert.pem.
  3. /etc/php.ini を開き、[curl] セクションを見つけて、次の行を追加します:
curl.cainfo = /path/to/cacert.pem
ログイン後にコピー
  1. PHP FPM サービスを保存して再起動します。

個別のリクエスト調整

PHP 構成の調整が不可能な場合は、CURLOPT_CAINFO オプションを設定することで、カスタム CA 証明書を使用するように特定の cURL リクエストを構成できます。

curl_setopt($ch, CURLOPT_CAINFO, '/path/to/cacert.pem');
ログイン後にコピー

その他の考慮事項

サーバー証明書が HTTPS によって提示されていることを確認します。エンドポイントは有効であり、信頼された CA によって署名されています。問題が解決しない場合は、ファイアウォール設定を確認するか、サーバー側の証明書を検証することを検討してください。

結論

次の手順に従うことで、「SSL3_GET_SERVER_CERTIFICATE: 証明書の検証」を効果的に解決できます。 「失敗しました、CA は OK です」というエラーが発生し、PHP アプリケーションでの HTTPS 通信がスムーズに行われるようにします。

以上がPHP での「SSL3_GET_SERVER_CERTIFICATE: 証明書の検証に失敗しました」エラーを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート