cURL の SSL/TLS ハンドシェイクの問題を解決する
悪名高い cURL エラー 35、「SSL/TLS ハンドシェイクのどこかで問題が発生しました」が発生しました」とイライラしてしまうかもしれません。このエラー メッセージは、cURL が HTTP プロトコルで問題なく動作するにもかかわらず、HTTPS リクエスト中に安全な接続を確立できないことを示しています。
試みられる一般的な解決策の 1 つは、CURLOPT_SSL_VERIFYPEER を false に設定することですが、これは効果がありません。ただし、この問題を解決する鍵は、必要な認証局情報を cURL に提供することにあります。
最近のブラウザとは異なり、cURL には組み込みのルート証明書がありません。 SSL 接続中に受信した証明書を検証するには、cacerts.pem ファイルへの明示的なパスが必要です。このファイルには、cURL がサーバーの証明書を信頼できるようにするルート証明書が含まれています。
cURL を正しく設定するには、次の手順に従ってください:
curl_setopt($ch, CURLOPT_CAINFO, '/path/to/cert/file/cacert.pem');
このファイルを提供すると、cURL はサーバーの証明書を検証し、安全な HTTPS 接続を確立できるようになります。 cacerts.pem ファイルは、公式 cURL ドキュメント Web サイトから入手できます。
このファイルは、cURL を介して行われる後続のすべての SSL 接続に使用できるため、セットアップ プロセスが簡素化されることに注意してください。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3