SQLSTATE[08001]:[Microsoft][适用于 SQL Server 的 ODBC 驱动程序 18]SSL 提供程序

问题描述 投票:0回答:1

美好的一天!

我真的很努力解决我遇到的问题。我一直在互联网上搜索但仍然没有运气。顺便说一下,我是第一次从头开始安装LAMP。我使用 Ubuntu 22.04 和 Laravel v10.39 作为我的网站框架。我还使用 Let's Encrypt 作为我的 Web SSL 证书,但我确实无法解决该问题。我正在尝试从我的网络托管连接到我的 Windows 远程 MSSQL 数据库以获取一些数据。

请检查下面的问题以及您可能需要帮助我解决此问题的一些信息。

错误:

SQLSTATE[08001]: [Microsoft][ODBC Driver 18 for SQL Server]SSL Provider: [error:0A000086:SSL routines::certificate verify failed:self-signed certificate]

我的LARAVEL数据库配置

'world' => [
        'driver' => 'sqlsrv',
        'url' => env('DATABASE_URL'),
        'host' => env('WORLD_DB_SQLSRV_HOST', 'localhost'),
        'port' => env('WORLD_DB_SQLSRV_PORT', '1433'),
        'database' => env('WORLD_DB_SQLSRV_DATABASE', 'forge'),
        'username' => env('WORLD_DB_SQLSRV_USERNAME', 'forge'),
        'password' => env('WORLD_DB_SQLSRV_PASSWORD', ''),
        'charset' => 'utf8',
        'prefix' => '',
        'prefix_indexes' => true,
        'options' => [
            // SSL Options
            'Encrypt' => true, // Uncomment this line if required
            'TrustServerCertificate' => false, // Uncomment this line if required
        ],

我的sqlsrv和pdo_sqlsrv版本都是5.11.1 PHP 版本8.2,OpenSSL 3.0.2

odbc remote-server sqlsrv
1个回答
0
投票

您的 SQL Server 证书与 Web 服务器使用的证书非常不同(除非您已在 SQL Server 中安装该证书)。

默认情况下,SQL Server 将使用它自己生成的自签名证书。要信任该设置,请将

TrustServerCertificate
设置为
true

每个可能需要证书的服务都需要显式配置/安装证书,仅在您的计算机上存在证书文件并不意味着它可以用于任何用途。

© www.soinside.com 2019 - 2024. All rights reserved.