【发布时间】:2018-06-14 12:16:17
【问题描述】:
我正在尝试使用 Laravel 应用程序连接到启用 SSL 的数据库,但是当我这样做时,我收到了错误的网关错误。根据几个不同的资源,我找到了 MySql 驱动程序的以下配置以添加对 SSL 连接的支持,但是使用此驱动程序配置,我得到了 Bad Gateway 错误。
驱动程序
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'sslmode' => env('DB_SSLMODE', 'prefer'),
'options' => [
PDO::MYSQL_ATTR_SSL_CA => '/path/to/file/ca.pem',
PDO::MYSQL_ATTR_SSL_CERT => '/path/to/file/client-cert.pem',
PDO::MYSQL_ATTR_SSL_KEY => '/path/to/file/client-key.pem'
],
'strict' => true,
'engine' => null,
],
我使用 Laravel Valet 作为开发环境。我在 Valet NGINX 错误日志中收到以下错误:2018/06/14 07:51:50 [error] 6495#0: *15 upstream prematurely closed connection while reading response header from upstream, client: 127.0.0.1, server: ccc.dev, request: "POST /oauth/token HTTP/1.1"
有谁知道如何在 Laravel 应用程序或 Valet 上通过启用 SSL 的数据库连接来解决此问题?
【问题讨论】:
-
这里
''/path/to/file/client-cert.pem'有错别字吗?此行开头的双单引号''。 -
这是一个复制粘贴错字。当我删除我的本地文件路径并用
/path/to/file/替换它时,我抓住了太多东西。将更新帖子以删除额外的'。 -
你找到解决这个@Brady Charron 的方法了吗?我也在为同样的问题苦苦挣扎:(