配置nginx進行mysql遠端訪問

配置nginx進行mysql遠端訪問

我有一個 VPS,我正在嘗試遠端存取我的 mysql 資料庫。

我向任何IP位址授予root權限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;

我在my.cnf文件中評論了這一行

#bind-address = 127.0.0.1

我重新啟動了mysql

sudo service mysql restart

但下一步(所有教程都提到過)涉及iptables轉發來自連接埠 3306 的請求;我意識到我的VPS甚至沒有iptables輸出sudo service iptables statusiptables: unrecognized service

我可以安裝 iptables,但是我可以用 nginx 來達到同樣的效果嗎?是說這個堡壘轉送允許遠端存取我的mysql資料庫?

答案1

不,Nginx 和 Netfilter 是兩個完全不同的東西。

您以令人震驚的開放方式配置了 MySQL 資料庫,這可能很危險。更好的選擇可能是限制僅從應用程式(網頁伺服器?)訪問它,而不是整個互聯網。為此,請將 替換%為該客戶端的位址。

您詢問瞭如何使用 Netfilter 子系統的工具來設定額外的防火牆規則iptables,這很好。如果沒有安裝該工具,為什麼不安裝呢?

Nginx,無論是誰,都是一個網頁伺服器,你遲早可能會需要它。但無論如何它都不能取代 Netfilter。

相關內容