无法从 Azure VM 远程访问 postgres

无法从 Azure VM 远程访问 postgres

我正在尝试远程访问 postgres 数据库,但我无论如何也无法让它工作。

我在 Azure 中安装了 Gen 2 Linux VM,并安装了 Ubuntu 14.04 和 postgres。SSH 可以远程工作,并且 psql 在远程工作时可以正常工作。

我已采取的步骤:

  1. postgresql.conf listen_addresses已更新并'*'通过 确认正在收听。psqlshow listen_addresses*

  2. 已更新,pg_hba.conf添加host all all 0.0.0.0/0 md5

  3. 在 Azure 网络安全组中为端口 5432 添加了入站允许规则。在此处输入图片描述

  4. 重新启动 postgres/ubuntu。

完成这些步骤后,我就能正常使用和访问 psql,但每当我尝试通过 pgAdmin3 远程连接到实例时,都会收到一条错误消息,提示连接超时。

此外,当我远程使用端口检查器时,端口 5432 被报告为已关闭。

我遗漏了什么或者做错了什么?

提前致谢。

更新:

以下是当前输出iptables -S 在此处输入图片描述

答案1

听起来你需要使用 iptables-persistent

http://postgresql.freeideas.cz/install-postgresql-9-5-on-ubuntu-14-04/

答案2

因此,出于某种原因,这是一个 Azure 问题。我打开了端口5432,但没有用。在绝望中,我打开了 1024-65535,现在我可以连接了。显然,我遗漏了与入站规则的使用相关的一些内容。虽然这确实解决了我的问题,但显然不是最佳做法。对我遗漏的内容有什么看法吗?

答案3

我在 Azure VM - Linux 上遇到了同样的问题。我尝试了以下方法

更改 PG_hba.conf 更改 postgres.conf 使用 Azure 门户在防火墙中添加规则

但无法使用 pgadmin 进行连接。但是一旦我运行以下命令,我就能连接。

iptables -I 输入 1 -m tcp -p tcp --dport 5432 -j 接受

以上对我绝对有用。花了这么多时间之后 :)

一切顺利 !!

答案4

遇到了同样的问题,端口在 25000-27500 之间。您可以继续尝试缩小范围,但目前对我来说这似乎已经足够了 - 比暴露每个端口要好。我还有另一条规则,让端口 5432 保持开放。

相关内容