Мне не удается подключить мой экземпляр 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.
Есть идеи, почему "Невозможно установить файл закрытого ключа` rds-комбинированный-ca-bundle.pem '"в выводе?
**In 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, "/dir/rds-combined-ca-bundle.pem", NULL, NULL, NULL);
14 mysqli_real_connect($dbc,"DB_server","new-user","password");
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);```
Output ..
Warning: mysqli_real_connect(): Unable to set private key file `rds-combined-ca-bundle.pem' in AWS-test-connect.php on line 14
Warning: mysqli_real_connect(): Cannot connect to MySQL by using SSL in AWS-test-connect.php on line 14
plus other warnings.