I use an external cloud hosted mySQL DB for local development after verifying with sqlite. The site is then pushed to the cloud and connects to mySQL for production hosting. Since it is a cloud mySQL, traffic may be routed outside of the app server hosted network
I didn’t see any documentation on how to enable via configuration.
Under the hood Ghost uses knex which in turn uses the mysql npm package. knex proxies all connection configuration through to the underlying mysql client connection.
If you’re using RDS, you won’t need to load any certificates in as their is a “profile” for “Amazon RDS”. You should be able to add it to your Ghost configuration like:
Personally, I would recommend against opening your MySQL instance up to the WWW. Instead you might want to consider SSH port forwarding through a “bastion” host (or the host running Ghost). This way, traffic will be encrypted, no extra configuration will be required and your DB isn’t exposed publicly.
I’d also recommend against hacking at the Ghost core files. It makes updates almost impossible.
Hopefully this helps you but let me know if you really do need custom CA certs / SSL over the internet let me know