PHP CurlはSSLにアクセスすると接続速度を低下させる可能性があります。修正するには?

PHP CurlはSSLにアクセスすると接続速度を低下させる可能性があります。修正するには?

新しいサーバーに移行した後、スクリプトの速度が急激に低下しました。

一部のトラブルシューティングでは、サーバーがSSL証明書をロードしようとすると、Curl接続中に遅くなることがわかりました。どのサードパーティのサイトやAPIにアクセスしても、結果は同じです。

これはAmazon EC2 Linuxインスタンスにあります。証明書はサーバーに付属しています。この同じスクリプトは他のサーバーでうまく実行されます(もうアクティブではありません)。

ただし、詳細出力に表示される前に2〜100秒間一時停止されます。

 CAfile: /etc/pki/tls/certs/ca-bundle.crt
 CApath: none
 ALPN/NPN, server did not agree to a protocol

カール要求が増えるほど、速度は徐々に遅くなります。

それからcur_setopt($ ch、CURLOPT_SSL_VERIFYPEER、FALSE)を追加しましたが、問題は消えました!速度が正常に戻ります。

そのため、SSL 証明書を読み取る方法が原因でプロトコルのネゴシエーションを試みている間に速度が遅くなるようです。

この問題の原因は何ですか?

ありがとう

答え1

遅すぎるかもしれませんが、最近でも同じ問題が発生しました。私のPHPスクリプトはcentos7で実行されています。

追跡を見てGoogleを検索し続けた後、この動作を引き起こす問題が見つかりました。

https://bugzilla.redhat.com/show_bug.cgi?id=1659108

解決策:

更新しましたプロトン交換膜カーリングに役立つパッケージ(1.0.3-5.el7 -> 1.0.3-7.el7)です。

パッケージを更新できず、SSL証明書の検証を無効にしたくない場合は、次のものを使用できます。ファイルからコンテンツをインポートするlibcurlの代わりに。

関連情報