首页 > 解决方案 > 带有 SSL CA 的 phpMyAdmin 无法连接到 IPv6 MariaDB 服务器

问题描述

我在一台机器上有 MariaDB 服务器,在另一台机器上有 phpMyAdmin(因为第一台机器没有安装 http 服务器)。MariaDB 和 PMA 配置为在它们之间使用 SSL 连接(使用自签名证书)。在我迁移到 IPv6 地址之前,一切都很好。

我的 config.inc.php 文件中有两行用于 SSL:

$cfg['Servers'][$i]['ssl'] = true;
$cfg['Servers'][$i]['ssl_ca'] = '/..../ca-cert.pem';

在我将配置更改为使用 IPv6 地址并尝试登录 PMA 后,它抛出了错误链:“ mysqli::real_connect(): Cannot connect to MySQL by using SSL ”, “ mysqli::real_connect(): [ 2002](尝试通过(null)连接) “等等。

部分解决方案是将第二行注释如下:

$cfg['Servers'][$i]['ssl'] = true;
//$cfg['Servers'][$i]['ssl_ca'] = '/..../ca-cert.pem';

但在这种情况下,PMA 主屏幕上的“数据库连接”部分显示红色“SSL 未使用证书颁发机构”标签。

因此,在迁移到 IPv6 后,我的 CA 文件由于某种原因不被接受,尽管使用 IPv4 地址它运行良好。可以做些什么来解决这个问题?

来自 PMA 的附加信息:

Server: [xxxx:xxx:xxxx:xxx::1] via TCP/IP
Server type: MariaDB
Server connection: SSL is used without certification authority 
Server version: 10.3.31-MariaDB-0ubuntu0.20.04.1 - Ubuntu 20.04
Protocol version: 10 

nginx/1.18.0
Database client version: libmysql - mysqlnd 5.0.12-dev - 20150407
PHP version: 7.2.34-24+ubuntu20.04.1+deb.sury.org+1

phpMyAdmin version: 5.1.1

标签: mysqlsslphpmyadminmariadbipv6

解决方案


推荐阅读