透過 SSL 將 phpMyAdmin 連接到 MySQL 伺服器
P粉668019339
P粉668019339 2023-10-23 08:57:18
0
2
752

我可能找錯了樹...但是,我擁有的是一個 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粉668019339
P粉668019339

全部回覆(2)
P粉806834059

我相信 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;
P粉399090746

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

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

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

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!