Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Configuração SSL específica do ambiente no arquivo .env do Laravel


Você pode definir uma nova variável de ambiente que ative ou desative o uso de SSL e, em seguida, use um operador ternário para carregar a configuração apropriada.

Adicione isso ao seu .env arquivo em ambientes onde você precisa de banco de dados SSL habilitado:
MYSQL_SSL=true // not having this variable defined or being false, will disable SSL

Em seu config/database.php arquivo, modifique as options valor da chave para que sua conexão seja carregada assim:
'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')
] : []

Normalmente sou contra o uso de lógica nos arquivos de configuração, mas este é um caso em que uma exceção pode ser feita.