Heim  >  Fragen und Antworten  >  Hauptteil

Verbinden Sie phpMyAdmin über SSL mit dem MySQL-Server

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 in

database.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粉668019339P粉668019339383 Tage vor844

Antworte allen(2)Ich werde antworten

  • P粉806834059

    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;

    Antwort
    0
  • P粉399090746

    P粉3990907462023-10-24 00:31:17

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

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

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

    Antwort
    0
  • StornierenAntwort