【问题标题】:How to know if MySQL is using SSL to connect to a remote database?如何知道 MySQL 是否使用 SSL 连接到远程数据库?
【发布时间】:2021-05-21 23:21:44
【问题描述】:

这是我连接到远程数据库的代码:

$con = mysqli_init();
mysqli_ssl_set($con, "/etc/letsencrypt/keys/...certbot.pem", "/etc/letsencrypt/live/.../cert.pem", "/etc/letsencrypt/live/.../fullchain.pem", NULL, NULL);
$connection = mysqli_real_connect($con, self::$host, self::$user, self::$password);
self::$lastConnection = $connection;
$db = "db_prod";

不幸的是,我无法判断它是否真的有效,因为如果我故意拼错 mysqli_ssl_set 中证书的任何字符,连接仍然成功。那么我如何确定这是否按预期工作?

任何帮助表示赞赏。

【问题讨论】:

  • 您可能会在 dba.stackexchange.com 获得更好的答案

标签: php mysql ssl


【解决方案1】:

由于您已使用 mysqli_ssl_set 尝试建立与 MySQL 的 SSL 连接。系统将继续使用它进行后续的连接请求。

因此,您可以检查 $connection,它是 mysqli_real_connect 的返回值

所以请修改为:

<?php
$con = mysqli_init();
mysqli_ssl_set($con, "/etc/letsencrypt/keys/...certbot.pem", "/etc/letsencrypt/live/.../cert.pem", "/etc/letsencrypt/live/.../fullchain.pem", NULL, NULL);


$connection = mysqli_real_connect($con, self::$host, self::$user, self::$password);

/////////////////
if (!$connection)
{
    die("Connect Error: " . mysqli_connect_error());
}
/////////////////

self::$lastConnection = $connection;
$db = "db_prod";

?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-13
    • 2011-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-20
    • 1970-01-01
    相关资源
    最近更新 更多