Mysql
 sql >> Database >  >> RDS >> Mysql

Configurazione SSL specifica per l'ambiente nel file Laravel .env

È possibile definire una nuova variabile di ambiente che abiliti o disabilita l'utilizzo di SSL, quindi utilizzare un operatore ternario per caricare la configurazione appropriata.

Aggiungilo al tuo .env file negli ambienti in cui è necessario abilitare il database SSL:

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

Nel tuo config/database.php file, modificare le options valore chiave per caricare la tua connessione in questo modo:

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

Di solito sono contrario all'uso della logica nei file di configurazione, ma questo è un caso in cui potrebbe essere fatta un'eccezione.