Этот вопрос отличается от предыдущего с тем же названием.
Я не могу подключить мой экземпляр AWS EC2 к моей базе данных RDS MySQL через SSL.
AWS EC2 Linux 2, Apache 2.4.39, PHP 7.3.10, MySQL 5.7.26
Для моего приложения, которое находится в EC2, иметь безопасное соединение в пути он должен использовать SSL / TLS. Насколько я понимаю, учитывая мое PHP / MySQL приложение, мне нужно выполнить приведенный ниже код. Чтобы не влиять на мою БД, я настроил тестовую БД. Новый пользователь называется new-user со своим паролем. Я получил пакет PEM rds-комбинированный-ca-bundle.pem из https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem и поместил его в каталог, доступный для браузера на сервере EC2, как указано на этой странице AWS.
Есть идеи, что мне нужно изменить с помощью mysqli_real_connect () и любых других операторов, чтобы обеспечить доступ к базе данных?
В AWS -test-ssl-script. php ..
20 define ('MYSQLI', 'AWS-test-connect.php');
In 'AWS -test-connect. php' ..
12 $dbc=mysqli_init();
13 mysqli_ssl_set($dbc, NULL, NULL, NULL, "/dir/rds-combined-ca-bundle.pem", NULL);
14 mysqli_real_connect($dbc,"DB_server[without :port#]","new-user","password", "db-name", "port#");
16 $res = mysqli_query($dbc, 'SHOW STATUS like "Ssl_cipher"');
17 print_r(mysqli_fetch_row($res));
18 mysqli_close($dbc);
In AWS -test-ssl-script. php ..
35 require(MYSQLI);
44 $sel = "CREATE USER IF NOT EXISTS 'new-user'@'%' IDENTIFIED BY 'password' REQUIRE SSL";
45 $sel_qry = mysqli_query($dbc, $sel);
46 mysqli_close($sel_qry);
48 $grant = "GRANT SELECT, INSERT, UPDATE, DELETE
49 ON testdb
50 TO new-user@%";
51 $grant_qry = mysqli_query($dbc, $grant);
52 mysqli_close($grant_qry);
Вывод ..
Warning: mysqli_real_connect(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /dir/AWS-test-connect.php on line 14
Warning: mysqli_real_connect(): Cannot connect to MySQL by using SSL in /dir/AWS-test-connect.php on line 14
Warning: mysqli_real_connect(): [2002] (trying to connect via (null)) in /dir/AWS-test-connect.php on line 14
Warning: mysqli_real_connect(): (HY000/2002): in /dir/AWS-test-connect.php on line 14