Mysql
 sql >> Base de données >  >> RDS >> Mysql

Configuration SSL spécifique à l'environnement dans le fichier Laravel .env

Vous pouvez définir une nouvelle variable d'environnement qui active ou désactive l'utilisation de SSL, puis utiliser un opérateur ternaire pour charger la configuration appropriée.

Ajoutez ceci à votre .env fichier dans les environnements où vous avez besoin d'activer SSL de base de données :

MYSQL_SSL=true // not having this variable defined or being false, will disable SSL

Dans votre config/database.php fichier, modifiez les options valeur clé pour que votre connexion soit chargée comme ceci :

'options' => (env('MYSQL_SSL')) ? [
    PDO::MYSQL_ATTR_SSL_KEY    => env('MYSQL_SSL_KEY'),  // /path/to/key.pem
    PDO::MYSQL_ATTR_SSL_CERT   => env('MYSQL_SSL_CERT'), // /path/to/cert.pem
    PDO::MYSQL_ATTR_SSL_CA     => env('MYSQL_SSL_CA'),   // /path/to/ca.pem
    PDO::MYSQL_ATTR_SSL_CIPHER => env('MYSQL_SSL_CIPHER')
] : []

Je suis généralement contre l'utilisation de la logique dans les fichiers de configuration, mais c'est un cas où une exception peut être faite.