我试图远程访问postgres数据库,我不能让我的生活得到它的工作。
我在Ubuntu 14.04中安装了第二代Linux虚拟机,并安装了postgres。 SSH可以远程工作,而psql在远程访问时工作正常。
我已经采取的步骤:
更新postgresql.conf
listen_addresses
是'*'
和确认通过psql
和show listen_addresses
它正在听*
。
通过添加host all all 0.0.0.0/0 md5
更新pg_hba.conf
host all all 0.0.0.0/0 md5
。
在端口5432的Azurenetworking安全组中添加了入站允许规则。
重新启动postgres / Ubuntu。
完成这些步骤之后,我可以使用并访问psql,但是每当我尝试通过pgAdmin3远程连接到实例时,都会收到错误消息,指出连接超时。
此外,当我远程使用端口检查器时,端口5432报告为closures。
我错过了什么/做错了吗?
提前致谢。
更新:
这里是iptables -S
的当前输出
听起来你需要使用iptables-persistent
看到
http://postgresql.freeideas.cz/install-postgresql-9-5-on-ubuntu-14-04/
所以,出于某种原因,这是一个Azure问题。 我打开端口5432
,但没有工作。 在绝望中,我打开了1024-65535,现在我可以连接了。 很明显,我错过了与入站规则的使用有关的东西。 虽然这确实解决了我的问题,但这显然不是最佳实践。 有什么想法,我失踪了?
有同样的问题,港口之间的25000-27500之间。 你可以不断尝试缩小范围,但现在对我来说似乎已经足够好了 – 比暴露每个端口更好。 我还有另一个规则,使端口5432打开。