Laravel 应用程序中获取 SSL 证书已过期错误,但它应该是有效的

Ric*_*sen 7 ssl-certificate laravel guzzle

我有一个与 docker 一起使用的 Laravel 应用程序,直到最近它一直工作正常,但从大约 3 天前开始它就无法工作了。问题是我需要从远程数据库获取数据,这是通过 laravel 框架中使用的 guzzlehttp 客户端完成的。SSL 证书是通过自动给出的。让我们加密 nginx 代理伴侣,应该可以工作,例如,我在https://www.sslshopper.com/ssl-checker.html上检查过它,它说证书有效,但我仍然收到卷曲错误“ cURL 错误 60:SSL 证书问题:证书已过期(请参阅https://curl.haxx.se/libcurl/c/libcurl-errors.html)”。

我尝试手动将 guzzlehttp 客户端指向证书文件,甚至下载了最新的cacert 文件并使用它,但没有成功。代码看起来像这样:

$this->client = new Client(["verify" => '/path-to-cert-file-in-docker-container.pem']);
Run Code Online (Sandbox Code Playgroud)

更奇怪的是,我在本地运行相同的应用程序,如果我使用来自服务器或上面提到的https://curl.haxx.se/ca/cacert.pem的证书,我不会收到错误。

我应该提到的是,我们更新了让我们加密容器在服务器上发出证书,因此我在本地运行旧版本。但唯一改变的是我们从docker中拉取了一个新的镜像,我不知道应该做什么来在这里进行改变。我提到这一点是因为似乎错误是在我们更新let's encrypt之后开始的,但我一直无法找到连接。

请随时提出任何问题或向项目索取代码。

预先感谢,理查德。