配置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 数据库,这可能很危险。更好的选择可能是仅限制应用程序(Web 服务器?)对该数据库的访问,而不是整个互联网。为此,请将 替换%为此客户端的地址。

您询问使用iptablesNetfilter 子系统工具设置附加防火墙规则,这很好。如果没有安装该工具,为什么不安装它?

无论如何,Nginx 都是一个 Web 服务器,您迟早会需要它。但它绝不是 Netfilter 的替代品。

相关内容