通过 SSL 将 phpMyAdmin 连接到 MySQL 服务器
P粉668019339
P粉668019339 2023-10-23 08:57:18
0
2
782

我可能找错了树...但是,我拥有的是一个 MySQL 服务器,它只接受来自具有有效 SSL 证书的客户端的连接(请参阅此链接)。例如,这对于 Rails 来说非常有效。我的数据库位于一台服务器上,还有一个使用客户端证书连接的 Rails 应用程序。也许不是最快的,但它确实有效。

database.yml 中的配置如下所示:

sslkey: /path/to/client-key.pem
sslcert: /path/to/client-cert.pem
sslca: /path/to/ca-cert.pem

问题是我想将 phpMyAdmin 托管在与 Rails 应用程序相同的服务器上。我认为 phpMyAdmin 在其连接选项方面受到更多限制,因为我似乎找不到它使用客户端证书进行连接的方法。但我发现奇怪的是,谷歌搜索并没有在这个问题上找到太多答案(这让我怀疑我是否采取了错误的方法)。

显然,我可以轻松地将 phpMyAdmin 本身设置为托管在 SSL 证书后面(这将加密客户端浏览器和我的 phpMyAdmin 服务器之间的请求),但我希望 phpMyAdmin <-> 数据库连接也被加密。< /p>

这可能吗?这是一个糟糕的设计选择吗?有更好的方法吗?

P粉668019339
P粉668019339

全部回复(2)
P粉806834059

我相信 PHPmyadmin 文档中已经很好地解释了完全全面的答案: https://docs.phpmyadmin.net/en/latest/ config.html#example-google-ssl

您应该按照它在config.inc.php中配置您的服务器连接记录,如下所示:

// IP address of your instance
$cfg['Servers'][$i]['host'] = '8.8.8.8';
// Use SSL for connection
$cfg['Servers'][$i]['ssl'] = true;
// Client secret key
$cfg['Servers'][$i]['ssl_key'] = '../client-key.pem';
// Client certificate
$cfg['Servers'][$i]['ssl_cert'] = '../client-cert.pem';
// Server certification authority
$cfg['Servers'][$i]['ssl_ca'] = '../server-ca.pem';
// Disable SSL verification (see above note)
$cfg['Servers'][$i]['ssl_verify'] = false;
P粉399090746

在您的config.inc.php中,在适用的服务器内容之后添加此行:

$cfg['Servers'][$i]['ssl']=true;

假设你的 php 及其 mysql 客户端配置了 SSL,这应该可以工作。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!