You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Laravel中全局禁用Guzzle的SSL证书验证?

解决Laravel中全局禁用Guzzle SSL验证的方案

针对本地环境下Laravel Filemanager调用Guzzle连接Dropbox时出现的cURL error 60 SSL证书问题,可通过以下全局配置方案跳过SSL验证,且仅在本地生效避免生产风险:

方法一:通过服务提供者全局绑定Guzzle客户端

在app/Providers/AppServiceProvider.php的boot方法中添加以下代码,为Guzzle客户端设置默认的SSL验证配置:

use GuzzleHttp\Client;

public function boot()
{
    // 仅在本地环境应用该配置
    if ($this->app->environment('local')) {
        $this->app->bind(Client::class, function () {
            return new Client([
                'verify' => false,
            ]);
        });
    }
}

所有通过Laravel容器解析的Guzzle客户端(包括Laravel Filemanager使用的实例)都会自动继承该配置,无需修改Laravel Filemanager的源码。

方法二:结合环境变量灵活配置

  1. 在本地环境的.env文件中添加配置项:
GUZZLE_VERIFY=false
  1. 同样在AppServiceProvider.php的boot方法中绑定客户端时读取环境变量:
use GuzzleHttp\Client;

public function boot()
{
    $this->app->bind(Client::class, function () {
        return new Client([
            'verify' => env('GUZZLE_VERIFY', true),
        ]);
    });
}

这种方式可以更灵活地控制不同环境的SSL验证策略,生产环境保持默认的true即可。

注意事项

  • 确保本地环境的APP_ENV设置为local,否则环境判断不会生效。
  • 该方案仅适用于本地开发环境,绝对不要在生产环境启用verify => false,避免安全风险。

内容的提问来源于stack exchange,提问作者itstare

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 10:07:02