![SSL 连接到 MySQL 数据库](https://linux22.com/image/756191/SSL%20%E8%BF%9E%E6%8E%A5%E5%88%B0%20MySQL%20%E6%95%B0%E6%8D%AE%E5%BA%93.png)
我已经阅读过一些关于服务器故障这表明向防火墙开放 MySQL 端口不是一个好主意,因此我尝试进行相应的设置。
连接 MySQL 仍有两个选项:
- SSH 隧道
- SSL 配置
当使用数据库管理工具 - Windows 10 上的 DBeaver 时,我已成功通过 SSH 隧道连接到数据库,因此对于我手动使用的常规数据库 SQL 查询,我可以工作。
问题是我使用了 Magento 2 的第三方数据导入器 - Magmi,它有一个 Web 界面。(也是用 PHP 编写的)。
没有通过 SSH 隧道连接的设置,仅 SSL 设置:_SSL CA、SSL 证书、SSL 密钥。
我认为这些设置是专门请求证书文件位置的。
Magmi 的正常行为:
**要登录 Web 界面,您需要指定 Magento 2 的 MySQL 数据库详细信息,然后它会根据数据库用户进行验证。换句话说,在您访问 /magmi.php 之前,它会再次进行验证 **
- 我该如何设置 SSL 配置以便能够以这种方式连接到 MySQL?
- 我是否需要创建一个新的 SSL 证书/密钥集,或者我可以使用 Nginx 证书/密钥集 - 我有本地 Nginx 证书/密钥,它们不是 CA 签名的,换句话说,只是内部创建的证书/密钥
从 Magmi 网络界面的 SSL 配置设置:
SSL 设置 - 如果此处使用了错误的设置,您可能会无法使用这些设置,唯一的解决方法是手动编辑 magmi.ini。如果未使用其中一个 SSL 证书设置(例如仅使用 SSL CA 证书),则将值保留为空
笔记:我曾尝试使用 Nginx 证书/密钥集(作为 Web 服务器用户可读)(将 CA 值留空),但它无法正确地验证我的身份。(一遍又一遍提示登录)。
我想我需要做一些额外的事情才能让它与 MySQL 兼容。我假设对于 DBeaver,证书需要在 Windows 操作系统上安装。
1- DBeaver 接口(以便我可以直接从 Windows 进行测试)
2- 从 Magmi 所在的网络服务器 (Ubuntu) 开始,与网站位于同一目的地/var/www/html/magento2
设置
目前是本地网络,但我想确保一旦网站进入互联网托管设置,设置将正常工作
- 我使用的 Windows 10
- 我可以通过 Windows 10 通过 SSH/Putty/DBeaver 访问 Ubuntu Web 服务器
- 服务器设置:Apache Web 服务器、配置 SSL 转发到 Varnish 的 Nginx 代理、端口 6081 上的 Varnish 缓存、主机上的 MySQL 服务器
SSL 有效,我能够连接到 https://localsite。
结论
SSL 有效,我需要设置帮助以便 MySQL 通过 SSL 选项与 Magmi/DBeaver 一起工作,这样我就可以得到在 Web 界面登录时经过身份验证的 MySQL 数据库用户。(因为没有 SSH 隧道/MySQL 选项)。 我需要 Magmi 的网络界面来更改设置、导入文件等。