Maison > Questions et réponses > le corps du texte
Je me trompe peut-être d'arbre... Cependant, ce que j'ai est un serveur MySQL qui n'accepte que les connexions de clients avec des certificats SSL valides (voir ce lien). Cela fonctionne très bien pour Rails, par exemple. Ma base de données est sur un serveur et j'ai une application Rails qui se connecte à l'aide d'un certificat client. Peut-être pas le plus rapide, mais ça marche.
La configuration dansdatabase.yml est la suivante :
sslkey: /path/to/client-key.pem sslcert: /path/to/client-cert.pem sslca: /path/to/ca-cert.pem
Le problème est que je souhaite héberger phpMyAdmin sur le même serveur que l'application Rails. Je pense que phpMyAdmin est plus limité dans ses options de connexion car je n'arrive pas à trouver un moyen de se connecter à l'aide d'un certificat client. Mais je trouve étrange que Google ne donne pas beaucoup de réponses à cette question (ce qui me fait me demander si j'adopte la mauvaise approche).
Évidemment, je pourrais facilement configurer phpMyAdmin lui-même pour qu'il soit hébergé derrière un certificat SSL (qui chiffrerait les requêtes entre le navigateur client et mon serveur phpMyAdmin), mais j'aimerais que la connexion à la base de données phpMyAdmin <-> soit également cryptée. ≪ /p>
Est-ce possible ? Est-ce un mauvais choix de conception ? Existe-t-il une meilleure façon ?
P粉8068340592023-10-24 00:31:49
Je pense que la réponse complète est bien expliquée dans la documentation PHPmyadmin : https://docs.phpmyadmin.net/en/latest/ config.html#example-google-ssl
Vous devez le suivre pour configurer l'enregistrement de votre connexion au serveur dans config.inc.php comme indiqué ci-dessous :
// 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
Dans votre config.inc.php
, ajoutez cette ligne après le contenu du serveur applicable :
$cfg['Servers'][$i]['ssl']=true;
En supposant que votre php et son client mysql soient configurés avec SSL, cela devrait fonctionner.