DigitalOcean上的NodeJs无法连接到Amazon RDS上的MySQL数据库
我们在DigitalOcean上部署了NodeJS Web服务,并连接到Amazon RDS上的MySQL数据库。 我可以使用Navicat Premium来远程连接到MySQL RDS,也可以使用NodeJS localhost(这意味着我的本地应用程序可以连接到RDS数据库)
但是当我将我的应用程序部署到DigitalOcean服务器。 它无法连接到MySQL RDS。 连接超时。
我使用命令来查看开放端口:
iptables -L
结果是:
Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT tcp -- anywhere anywhere tcp dpt:3000 ACCEPT tcp -- anywhere anywhere tcp dpt:mysql ACCEPT tcp -- anywhere anywhere tcp dpt:3000 ACCEPT tcp -- anywhere anywhere tcp dpt:mysql ACCEPT tcp -- anywhere anywhere tcp dpt:mysql Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination ACCEPT tcp -- anywhere anywhere tcp dpt:mysql
我看到输出和input也打开了端口3306,但NodeJs仍然无法连接。 问题是DigitalOcean雾滴不开放端口3306和NodeJS应用程序不能通过此端口连接到外部。
(P / S:Amazon RDS还打开所有端口,并在任何地方使用IP)
请帮助我,谢谢
Amazon RDSbuild立之后,它只允许来自我的IP地址的连接。
要解决这个问题,请转到安全组设置,并允许从任何地方连接到RDS,或者只允许连接到有问题的NodeJS服务器。