我有一个 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 数据库,这可能很危险。更好的选择可能是仅限制应用程序(Web 服务器?)对该数据库的访问,而不是整个互联网。为此,请将 替换%
为此客户端的地址。
您询问使用iptables
Netfilter 子系统工具设置附加防火墙规则,这很好。如果没有安装该工具,为什么不安装它?
无论如何,Nginx 都是一个 Web 服务器,您迟早会需要它。但它绝不是 Netfilter 的替代品。