【问题标题】:Laravel MySQL SSL Peer certificate did not match eventhough verification is disabledLaravel MySQL SSL Peer 证书不匹配即使验证被禁用
【发布时间】:2021-12-31 23:46:33
【问题描述】:

我正在尝试在两台服务器(Laravel 和 MySQL 8)之间建立 SSL 连接。此连接的 database.php 中的选项是:

'db_connection' => [
    'driver' => 'mysql',
    'host' => '192.168.0.1',
    'port' => '3306',
    'database' => 'my_db',
    'username' => 'my_user',
    'password' => 'my_password',
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    'prefix_indexes' => true,
    'strict' => true,
    'engine' => null,
    'options' => extension_loaded('pdo_mysql') ? array_filter([
        PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false,
        PDO::MYSQL_ATTR_SSL_CA => '/path/ca.pem',
        PDO::MYSQL_ATTR_SSL_KEY => '/path/client-key.pem',
        PDO::MYSQL_ATTR_SSL_CERT => '/path/client-cert.pem',
    ]) : [],
],

现在即使我将MYSQL_ATTR_SSL_VERIFY_SERVER_CERT 设置为false,但我仍然收到此错误:

PDO::__construct(): Peer certificate CN=`MySQL_Server_8.0.xx_Auto_Generated_Server_Certificate' did not match expected CN=`192.168.0.1'

我也尝试删除 MYSQL_ATTR_SSL_CA 但随后出现此错误:

SQLSTATE[HY000] [3159] Connections using insecure transport are prohibited while --require_secure_transport=ON.

我什至尝试将MYSQL_ATTR_SSL_CA 设置为'/dev/null',但出现此错误:

failed loading cafile stream: `/dev/null'

似乎MYSQL_ATTR_SSL_VERIFY_SERVER_CERT 根本不起作用。如何解决我的问题并在 Laravel 中禁用 SSL 证书验证?

谢谢。

【问题讨论】:

标签: php mysql laravel ssl pdo


【解决方案1】:

我看到了 2 个解决方案:

A) 从

中移除array_filter(默认移除所有value==false的键)
'options' => extension_loaded('pdo_mysql') ? array_filter([

B) 将选项更改为:

'options' => extension_loaded('pdo_mysql') ? array_filter([
        PDO::MYSQL_ATTR_SSL_CA => '/path/ca.pem',
        PDO::MYSQL_ATTR_SSL_KEY => '/path/client-key.pem',
        PDO::MYSQL_ATTR_SSL_CERT => '/path/client-cert.pem',
    ]) + [PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false,] : [],

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-04
    • 1970-01-01
    • 1970-01-01
    • 2019-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-03
    相关资源
    最近更新 更多