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服务器。