
我有一個 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 status
iptables: unrecognized service
我可以安裝 iptables,但是我可以用 nginx 來達到同樣的效果嗎?是說這個堡壘轉送允許遠端存取我的mysql資料庫?
答案1
不,Nginx 和 Netfilter 是兩個完全不同的東西。
您以令人震驚的開放方式配置了 MySQL 資料庫,這可能很危險。更好的選擇可能是限制僅從應用程式(網頁伺服器?)訪問它,而不是整個互聯網。為此,請將 替換%
為該客戶端的位址。
您詢問瞭如何使用 Netfilter 子系統的工具來設定額外的防火牆規則iptables
,這很好。如果沒有安裝該工具,為什麼不安裝呢?
Nginx,無論是誰,都是一個網頁伺服器,你遲早可能會需要它。但無論如何它都不能取代 Netfilter。