Heim > Fragen und Antworten > Hauptteil
Vielleicht bin ich auf dem falschen Weg ... Was ich jedoch habe, ist ein MySQL-Server, der nur Verbindungen von Clients mit gültigen SSL-Zertifikaten akzeptiert (siehe diesen Link). Das funktioniert zum Beispiel hervorragend für Rails. Meine Datenbank befindet sich auf einem Server und ich habe eine Rails-Anwendung, die eine Verbindung über ein Client-Zertifikat herstellt. Vielleicht nicht die schnellste, aber es funktioniert.
Die Konfiguration indatabase.yml ist wie folgt:
sslkey: /path/to/client-key.pem sslcert: /path/to/client-cert.pem sslca: /path/to/ca-cert.pem
Das Problem ist, dass ich phpMyAdmin auf demselben Server wie die Rails-Anwendung hosten möchte. Ich denke, dass die Verbindungsoptionen von phpMyAdmin eingeschränkter sind, da ich anscheinend keine Möglichkeit finde, eine Verbindung über ein Client-Zertifikat herzustellen. Aber ich finde es seltsam, dass beim Googeln nicht viele Antworten auf diese Frage gefunden werden (was mich frage, ob ich den falschen Ansatz verfolge).
Natürlich könnte ich phpMyAdmin selbst problemlos so einrichten, dass es hinter einem SSL-Zertifikat gehostet wird (das Anfragen zwischen dem Client-Browser und meinem phpMyAdmin-Server verschlüsselt), aber ich möchte, dass auch die phpMyAdmin-Datenbankverbindung verschlüsselt wird. < /p>
Ist das möglich? Ist das eine schlechte Designwahl? Gibt es einen besseren Weg?
P粉8068340592023-10-24 00:31:49
我相信 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粉3990907462023-10-24 00:31:17
在您的config.inc.php
中,在适用的服务器内容之后添加此行:
$cfg['Servers'][$i]['ssl']=true;
假设你的 php 及其 mysql 客户端配置了 SSL,这应该可以工作。