sql >> Base de Datos >  >> RDS >> Mysql

Configuración SSL específica del entorno en el archivo Laravel .env

Puede definir una nueva variable de entorno que habilite o deshabilite el uso de SSL, luego use un operador ternario para cargar la configuración adecuada.

Agregue esto a su .env archivo en entornos donde necesita la base de datos SSL habilitado:

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

En tu config/database.php archivo, modifique las options valor clave para que su conexión se cargue así:

'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')
] : []

Por lo general, estoy en contra del uso de la lógica en los archivos de configuración, pero este es un caso en el que se podría hacer una excepción.