database - 如何将SSL添加到后端mysql数据库并使用Laravel连接

标签 database laravel ssl connection

我需要将 SSL 添加到后端 mysql 数据库并使用 Laravel 进行连接。但无法知道如何去做。 我是否需要将 MySql Db 配置为使用加密连接,然后在 Laravel 的 Database.php 文件中提供一些参数。

我的网站启用了 https。

请指导应该注意和应该做的事情。

最佳答案

您首先需要在您的 MySQL 服务器上配置 SSL/TLS,这些说明将特定于托管 MySQL 服务器的操作系统以及 MySQL 版本本身。

这是 MySQL 5.x 和 Ubuntu 的示例指南: https://www.digitalocean.com/community/tutorials/how-to-configure-ssl-tls-for-mysql-on-ubuntu-16-04

完成此操作后,您可以通过将此行添加到数据库配置来配置 laravel 应用程序以告诉它如何通过加密的 mysql 连接进行通信:

'options' => array(    
    PDO::MYSQL_ATTR_SSL_CA => $cert_base . '/ssl-ca-bundle.pem'
 ),

完整的配置在 config/database.php

中看起来像这样
'mysql' => array(
  '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' => '',
  'strict' => true,
  'engine' => null,
  'options' => array(
    PDO::MYSQL_ATTR_SSL_CA => '/path/to/ssl-ca-bundle.pem'
  ),
),

关于database - 如何将SSL添加到后端mysql数据库并使用Laravel连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53743435/

相关文章:

php - Laravel-5.6 'LIKE ' 在 where 和 or where select

android - onReceivedClientCertRequest 和 onReceivedLSslError 有什么区别

java - NamedJdbcTemplate 更新问题

sql - 学习 SQL Server 的最佳方式

mysql - SymmetricDS:MySQL 与 PostgreSQL 实时同步

php - 类 'UserTableSeeder' 不存在 - Laravel 5.0 [php artisan db :seed]

php - Laravel - 将请求重定向到外部 url 并将其响应作为响应返回

php - 如何在执行另一个 SQL 查询 x 分钟后执行一个 SQL 查询?

java - java中如何获取这个网页的内容

ssl - SoapUI:连接已关闭:javax.net.SSLHandshakeException