【发布时间】:2016-12-14 16:34:21
【问题描述】:
我有一个托管在 EC2 实例上的节点服务器,它试图连接到在同一实例上运行的 Postgres。当我启动服务器时,我收到一个 ECONNREFUSED 错误到数据库:
Unable to connect to the database: SequelizeConnectionRefusedError: connect ECONNREFUSED x.x.x.x:5432
我正在使用 NPM 的 Sequelize ORM 包:
import Sequelize from 'sequelize';
const db = new Sequelize('postgres://postgres@52.9.136.53/unloadx' {dialect: 'postgres'});
Postgres 正在实例上运行,我在入站安全规则中打开了端口 5432。我可以确认 postgres 正在使用 ps aux | grep postgres 运行,它显示了多个与 postgres 相关的进程,netstat -anp --tcp 确认 postgres 似乎正在侦听端口:
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp6 0 0 ::1:5432 :::* LISTEN -
但是当我使用nmap x.x.x.x -p 5432 扫描端口时,它显示端口状态已关闭。对于 nmap,这意味着该端口是可访问的,但没有应用程序在监听它以响应数据包。
感谢任何帮助使连接正常工作。
【问题讨论】:
标签: node.js postgresql amazon-web-services amazon-ec2 sequelize.js