【发布时间】:2018-06-03 11:14:57
【问题描述】:
按照 Heroku 的建议,我已授予对 0.0.0.0/0 的 Amazon RDS MySQL 实例 (5.7.19) 的访问权限。这使得连接成功。当我为 mysql-user (ALTER USER 'user'@'%' REQUIRE SSL;) 强制使用 SSL 时,连接中断。我从 Heroku 关注了these instructions。
我的 Heroku DATABASE_URL 配置变量: mysql://username:password@AMAZONRDSMYSQLURL/DATABASE?sslca=config/amazon-rds-ca-cert.pem
证书存储在 /config/amazon-rds-ca-cert.pem 下
从我的 localhost 终端,我可以使用以下命令通过 SSL 连接到 Amazon RDS 实例(使用与上面相同的证书)(在没有 --ssl-mode=VERIFY_IDENTITY 的情况下也可以使用): mysql -h AMAZONRDSMYSQLURL --ssl-ca=/Users/Documents/amazon-rds-ca-cert.pem --ssl-mode=VERIFY_IDENTITY -u USERNAME -p
我在 Lumen 中的数据库配置(/config/database.php):
<?php
$url = parse_url(getenv("DATABASE_URL"));
$host = $url["host"];
$username = $url["user"];
$password = $url["pass"];
$database = substr($url["path"], 1);
return [
'default' => 'mysql',
'connections' => [
'mysql' => [
'driver' => 'mysql',
'port' => '3306',
'host' => $host,
'database' => $database,
'username' => $username,
'password' => $password,
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
知道这里出了什么问题吗?谢谢!
【问题讨论】:
标签: mysql laravel heroku amazon-rds lumen