Connectez phpMyAdmin au serveur MySQL via SSL
P粉668019339
P粉668019339 2023-10-23 08:57:18
0
2
999

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 dans

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

répondre à tous(2)
P粉806834059

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粉399090746

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal