我有一個節點服務器託管在EC2實例上,它試圖連接到運行在同一實例上的Postgres。當我啓動服務器,我得到一個ECONNREFUSED錯誤的分貝:無法連接到EC2上的Postgres:ECONNREFUSED
Unable to connect to the database: SequelizeConnectionRefusedError: connect ECONNREFUSED x.x.x.x:5432
我使用Sequelize ORM包從NPM:
import Sequelize from 'sequelize';
const db = new Sequelize('postgres://[email protected]/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,這意味着該端口是可訪問的,但沒有監聽應用程序的應用程序能夠響應數據包。
感謝獲得連接工作的任何幫助。
這是它,謝謝正確已經設置你的Postgres服務器。 FWIW'localhost'工作,但不是127.0.0.1 – aeb0