我正在使用AWS进行一个项目,它托管在带有RDS PostgreSQL的EC2实例上。我想在我的服务器和数据库之间使用SSL加密,但我不知道如何配置Laravel使其工作。在配置数据库连接时是否可以指定sslmode
?
最佳答案
这似乎是Laravel4中缺少的一个特性,但是我已经提交了一个pull请求来修复这个问题。
https://github.com/laravel/framework/pull/5488(于2014-09-08合并)
要修补代码,只需将以下代码片段添加到PostgresConnector.php文件中的getDsn
函数中。
if (isset($config['sslmode']))
{
$dsn .= ";sslmode={$sslmode}";
}
之后,您可以在pgsql数据库配置部分中指定
sslmode = 'require'
,以测试web应用程序与数据库之间的加密。sslmode的其他可能值是'disable'
,'allow'
,'prefer'
,'require'
,'verify-ca'
,'verify-full'
,'prefer'
。默认值为。有关更多信息,请查看PostgreSQL文档:http://www.postgresql.org/docs/9.3/static/libpq-ssl.html