gpt4 book ai didi

php - 使用 PHP 通过 SSL 将 AWS EC2 实例连接到 RDS MySQL

转载 作者:太空宇宙 更新时间:2023-11-03 13:56:53 25 4
gpt4 key购买 nike

我无法让我的 AWS EC2 实例通过 SSL 连接到我的 RDS MySQL 数据库。

AWS EC2 Linux 2、Apache 2.4.39、PHP 7.3.10、MySQL 5.7.26。为了使驻留在 EC2 中的应用程序在传输过程中具有安全连接,它必须使用 SSL/TLS。我的理解是,鉴于我的 PHP/MySQL 应用程序,我需要执行以下代码。为了不影响我的数据库,我设置了一个测试数据库。新用户称为新用户,有自己的密码。我从 https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem 获得了捆绑的 PEM 文件 rds-combined-ca-bundle.pem并按照该 AWS 页面的指示将其放置在 EC2 服务器上的浏览器可访问目录中。

知道为什么输出中出现“Unable to set private key file `rds-combined-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.



最佳答案

PHP mysqli_real_connect() 报错,报找不到指定的SSL key 。

第 13 行的语句中引用了该 key :

 mysqli_ssl_set($dbc, NULL, "/dir/rds-combined-ca-bundle.pem", NULL, NULL, NULL);

该消息表明 key 文件不存在,或者权限不正确。你能确认该文件在该目录中是可访问的吗?

如果 SSL 不是很重要,您也可以关闭它,看看它是否有效。

关于php - 使用 PHP 通过 SSL 将 AWS EC2 实例连接到 RDS MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59696470/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com