我想在网络服务器和 PostgreSQL 9.3 服务器之间建立连接。两者都托管在 Amazon EC2 服务器上,并且属于同一个安全组。我无法使连接正常工作。从我的桌面到 Postgres 的直接连接也是如此,这是我们在另一台 Postgres 服务器上所做的事情,该服务器将被这个服务器取代。
这是我到目前为止所做的:
- 检查亚马逊安全组:服务器是默认组的一部分,默认组接受来自我本地 IP 的所有端口的流量:这适用于其他服务器,我可以使用 SSH 连接到服务器。
- IPTables防火墙服务在服务器上停止。
- PostgreSQL 正在运行:我可以设置一个 SSH 隧道,然后使用 PGadmin、打开数据库等进行连接。所以服务器正在运行,并且登录是正确的。即使这适用于从我的桌面连接,它也不是服务器之间连接的解决方案。我怀疑如果我得到这个工作,另一个连接也会工作。
- pg_hba.conf:我从其他服务器复制了连接列表,我的本地IP在这里,以及亚马逊网络服务器的本地IP(10.xxx)。
安装服务器后,我使用 MD5 更改了 postgres 用户的数据库密码。由于通过 SSH 隧道的连接有效,我想这应该自动适用于所有连接,但我不确定。我还没有设置另一台服务器,当我查询 postgres 用户表 (pg_catalog.pg_user) 时,我看不出两台服务器之间有任何区别。
我不是 100% 确定安全组,所以我会再次调查,但除此之外我不知道去哪里找。
如何使连接正常工作?
更新
网络统计输出
网络统计-an | grep 5432 tcp 0 0 127.0.0.1:5432 0.0.0.0:* 听 unix 2 [ACC] 流监听 63088 /tmp/.s.PGSQL.5432 unix 2 [ACC] 流式监听 63087 /var/run/postgresql/.s.PGSQL.5432
远程登录
Unable to connect to remote host: Connection refused