首頁  >  問答  >  主體

透過 SSL 將 phpMyAdmin 連接到 MySQL 伺服器

我可能找錯了樹...但是,我擁有的是一個 MySQL 伺服器,它只接受來自具有有效 SSL 憑證的客戶端的連接(請參閱此連結)。例如,這對於 Rails 來說非常有效。我的資料庫位於一台伺服器上,還有一個使用客戶端憑證連接的 Rails 應用程式。也許不是最快的,但它確實有效。

database.yml 中的設定如下:

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

問題是我想將 phpMyAdmin 託管在與 Rails 應用程式相同的伺服器上。我認為 phpMyAdmin 在其連接選項方面受到更多限制,因為我似乎找不到它使用客戶端憑證進行連接的方法。但我發現奇怪的是,谷歌搜尋並沒有在這個問題上找到太多答案(這讓我懷疑我是否採取了錯誤的方法)。

顯然,我可以輕鬆地將phpMyAdmin 本身設定為託管在SSL 憑證後面(這將加密客戶端瀏覽器和我的phpMyAdmin 伺服器之間的請求),但我希望phpMyAdmin <-> 資料庫連接也被加密。 < /p>

這可能嗎?這是一個糟糕的設計選擇嗎?有更好的方法嗎?

P粉668019339P粉668019339332 天前753

全部回覆(2)我來回復

  • 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;

    回覆
    0
  • P粉399090746

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

    在您的config.inc.php中,在適用的伺服器內容之後新增此行:

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

    假設你的 php 及其 mysql 客戶端配置了 SSL,這應該可以工作。

    回覆
    0
  • 取消回覆