我需要将 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/