为什么要启用SSL:
因为使用了站库分离,为了保密,防别人抓包。
下面以WordPress + MariaDB为例,
准备工作
准备好一个WordPress网站,网站数据库已经是使用了远程数据库,网站域名已经添加进你的CloudFlare账户。
(1)启用WP与数据库启用SSL连接
编辑WordPress根目录的wp-config.php文件,添加一行:
define(‘MYSQL_CLIENT_FLAGS’, MYSQLI_CLIENT_SSL);
测试你的网站,已经打不开了,提示数据库连接错误
(2)准备SSL证书,需要三个文件,具体如下:
进入你的CF账户,进你的域名-> SSL/TLS-> 源服务器,创建一个15年的证书,分别保存为两个文件:
cert.pem
文件内容开头为:—–BEGIN CERTIFICATE—–
key.pem
文件内容开头为:—–BEGIN PRIVATE KEY—–
第三个文件为Cloudflare Origin CA root certificates证书,需要去CF官方下载:
https://developers.cloudflare.com/ssl/static/origin_ca_rsa_root.pem
保存文件为ca.pem
文件内容开头为:-----BEGIN CERTIFICATE-----
(3) MariaDB启用SSL
a) 把上面的三个文件上传到你的数据库服务器目录:/etc/mysql/ssl-keys/
b) 编辑 /etc/mysql/mariadb.conf.d/50-server.cnf文件,找到
[mariadb]
添加三行:
ssl_cert = /etc/mysql/ssl-keys/cert.pem
ssl_key = /etc/mysql/ssl-keys/key.pem
ssl_ca = /etc/mysql/ssl-keys/ca.pem
c) 重启数据库
$ sudo service mysqld restart
d) 验证SSL启用
$ sudo mysql
MariaDB [(none)]> SHOW VARIABLES LIKE ‘have_ssl’;
返回结果为:
have_ssl | YES
最后去刷新你的WordPress,这个时候网站已经恢复正常,打完收工