Omnipay (最新バージョン) を使用してオンライン決済を実行しています。
Cloudflares flexble SSL 経由で SSL を使用しているため、ドメイン/サーバーに実際の SSL 証明書がインストールされていません。昨日まではすべて問題なく動作していましたが、次のエラーが発生し始めました。
Fatal error: Uncaught exception 'Guzzle\Http\Exception\CurlException' with message '[curl] 60:
SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL
routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed [url]
https://api.sandbox.ewaypayments.com/CreateAccessCode.json' in /home/verecsta/vendor/guzzle
/http/Guzzle/Http/Curl/CurlMulti.php:359 Stack trace: #0 /home/verecsta/vendor/guzzle/http/Guzzle
/Http/Curl/CurlMulti.php(292): Guzzle\Http\Curl\CurlMulti->isCurlException(Object(Guzzle
\Http\Message\EntityEnclosingRequest), Object(Guzzle\Http\Curl\CurlHandle), Array) #1
/home/verecsta/vendor/guzzle/http/Guzzle/Http/Curl/CurlMulti.php(257): Guzzle\Http
\Curl\CurlMulti->processResponse(Object(Guzzle\Http\Message\EntityEnclosingRequest),
Object(Guzzle\Http\Curl\CurlHandle), Array) #2 /home/verecsta/vendor/guzzle/http/Guzzle/Http/Curl
/CurlMulti.php(240): Guzzle\Http\Curl\CurlMulti->processMessages() #3 /home/verecsta/vendor
/guzzle/http/Guzzle/Http/Curl/CurlMulti.php(224): Guzzle\Http\Curl\CurlM in /home/verecsta/vendor
/guzzle/http/Guzzle/Http/Curl/CurlMulti.php on line 359
$certificateAuthority = false;
Guzzleをオンにすると、再び機能します。しかし、これは理想的ではありません。
なぜ突然機能しなくなったのかわかりませんか?私のサーバーで有効期限が切れている可能性はありますか? 私は問題をグーグルで調べていて、これに数回遭遇しました:
「基本的に、サーバーに最新の認証局バンドルがインストールされていないことを意味します」
これは正確にはどういう意味ですか?このドメインの SSL 証明書をインストールする必要がありますか? または、サーバー上で更新する必要があるものは他にありますか? (昨日までは cluldflares SSL を使用して正常に動作していたので、何か他のものを更新する必要があると思いますか?)
また、Guzzle は独自の証明書を使用していると思っ$opts[CURLOPT_CAINFO] = __DIR__ . '/Resources/cacert.pem';
たので、なぜこのエラーが発生するのかわかりません。