有人能指出我在 Synology 设备上为 MariaDB10 启用 SSL 连接的解决方案吗?
该设备是一个运行 DSM 7.0.1(更新 2)的 Synology NAS。
我有:
- 通过以下方式创建推荐的证书(ca-key.pem / server-key.pem / server-cert.pem):
openssl genrsa -out ca-key.pem 2048
openssl req -new -x509 -nodes -days 365000 -key ca-key.pem -out ca-cert.pem
openssl req -newkey rsa:2048 -days 365 -nodes -keyout server-key.pem
-out server-req.pem
openssl rsa -in server-key.pem -out server-key.pem
openssl x509 -req -in server-req.pem -days 365 -CA ca-cert.pem -CAkey ca-key.pem set_serial 01 -out server-cert.pem
将证书放在“/etc/mariadb/”目录中
编辑 my.cnf 文件(即“/var/packages/MariaDB10/etc/my.cnf”)以包含以下内容:
[mysqld]
ssl
ssl-capath=/etc/mariadb/
ssl-ca=ca-cert.pem
ssl-cert=server-cert.pem
ssl-key=server-key.pem
#require_secure_transport=ON #see note below regarding Synology error
注意:使用会require_secure_transport=ON
在 Synology 套件中心产生错误,提示“无法启动“MariaDB10”...”
重新启动MariaDB
MariaDB10 对显示“%ssl%”等变量提供了以下响应
have_openssl YES
have_ssl DISABLED
ssl_ca ca-cert.pem
ssl_capath /etc/mariadb/
ssl_cert server-cert.pem
ssl_key server-key.pem
答案1
可能 Synology 的 MariaDB 尚未编译为支持 SSL,这就是它无法工作的原因。
我不会使用 MariaDB SSL。最好使用 SSH 隧道远程连接到 SQL 服务器。
首先打开隧道:
ssh -L 3306:127.0.0.1:3306 [email protected]
然后连接到它:
mysql -h localhost ...