4

間違ったツリーを吠えている可能性があります...しかし、私が持っているのは、有効なSSL証明書を持つクライアントからの接続のみを受け入れるMySQLサーバーです(このリンクを参照)。これは、たとえばRailsでうまく機能します。1つのサーバーにデータベースがあり、クライアント証明書を使用して接続するRailsアプリがあります。最速ではないかもしれませんが、動作します。

database.ymlの構成は次のようになります。

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

問題は、Railsアプリと同じサーバーでphpMyAdminをホストしたいということです。phpMyAdminは、クライアント証明書を使用して接続する方法が見つからないため、接続オプションが制限されていると思います。しかし、私が奇妙だと思ったのは、答えを探すグーグルがこの主題についてあまり出てこなかったということでした(これは私がこれに間違ったアプローチを取っているのではないかと思います)。

明らかに、SSL証明書(クライアントブラウザーとphpMyAdminサーバー間の要求を暗号化する)の背後でホストされるようにphpMyAdmin自体を簡単に設定できますが、phpMyAdmin<->db接続も暗号化する必要があります。

これは可能ですか?これは悪い設計上の選択ですか?これを行うためのより良い方法はありますか?

ありがとう、

4

3 に答える 3

7

config.inc.php該当するサーバーのものの後にこの行を追加 します。

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

PHPとそのmysqlクライアントがSSLを使用して構成されていると仮定すると、これは機能するはずです。

于 2008-12-01T19:25:23.727 に答える
2

私は同意します、答えは十分ではありません。SSL 証明書とポインタを配置するように誰もが指示する場所は、conf.dvirtualhost ブロックにあります。ただし、これはインバウンド トラフィック用です。mysql サーバーの IP アドレスからアクセスされている場合のみですphpmyadminが、この例ではそうではありません。ここでは、phpmyadmin外に出て、ローカル マシンから REMOTE サーバーに REMOTE 要求を行うために使用しています。

これを行うには、ファイルphpmyadminの場所を指定できる構成設定が必要です。certそうでなければ、これがどのように機能するかわかりません。おそらく、virtualhost ブロックは発信トラフィックに対しても機能します。試すことができると思います...私の考えでは、virtualhost は受信トラフィックに対してのみ機能します。

于 2020-03-12T12:53:45.553 に答える