如何解决无法通过 Google Apps 脚本上的 SSL 连接到 MariaDB
我在将 Google Apps 脚本连接到我的 MariaDB 实例时遇到了困难。
这是我在此示例中使用的 GAS:
https://gist.github.com/HappymanOkajima/8740727662e9ba0e0ffd52006484c47f
MariaDB 实例来自原始 dockerhub 镜像:mariadb:10.4
我已成功将 MariaDB 配置为使用 SSL 运行(已通过 Metabase 验证,并显示 'havessl'='YES')
对于上下文,以下命令用于生成 ssl 密钥:
为 CA-cert 生成密钥
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:4096 > ./ca-key.pem
生成 CA 证书
openssl req -new -x509 -nodes -days 36500 -key ./ca-key.pem -out ./ca-cert.pem -subj "/C=US/ST=NY/L=NTC/O=company/CN=company"
创建 sql 服务器密钥
openssl req -newkey rsa:4096 -nodes -keyout ./server-key.pem -out ./server-req.pem -subj "/C=US/ST=NY/L=NTC/O=company/CN=sql.server.com"
创建 sql 服务器证书
openssl x509 -req -in ./kn-req.pem -days 36500 -CA ./ca-cert.pem -CAkey ./ca-key.pem -CAcreateserial -out ./server-cert.pem
将服务器密钥转换为 RSA(mariadb 只读取这个)
openssl rsa -in ./server-key.pem -out ./server-key-rsa.pem
sql server 配置了 ca-cert.pem、server-cert.pem 和 server-key-rsa.pem
创建客户端密钥(用于 Supermetrics)
openssl req -newkey rsa:4096 -nodes -keyout ./client-key.pem -out ./client-req.pem -subj "/C=US/ST=NY/L=NTC/O=company/CN=supermetrics"
创建客户端证书
openssl x509 -req -in ./client-req.pem -days 36500 -CA ./ca-cert.pem -CAkey ./ca-key.pem -CAcreateserial -out ./client-cert.pem
创建 RSA 版本,用于 Supermetrics
openssl rsa -in ./client-key.pem -out ./client-key-rsa.pem
然后我使用 cat 打印这些文件:ca-cert.pem,client-cert.pem,client-key.pem
并将字符串复制粘贴到 Google Apps 脚本中,在每行末尾附加 \n\
。
这是显示的错误:
Exception: Failed to establish a database connection. Check connection string,username and password.
我也验证了如果我删除了?useSSL=true
,连接成功完成
我在这里错过了什么?我已经搜索了每个谷歌开发论坛的帖子和关于这个的 stackoverflow 问题,他们似乎都说这是正确的解决方案。有人能复制这个来验证吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。