tcp 端口的 GCP 防火墙规则不起作用

GCP firewall rule for tcp port are not working

我有一个安装了 postgres 的虚拟机,现在我正尝试从外部连接这个 PG,我创建了一个防火墙规则,打开 5432 端口到任何源 IP,如下所示

我的实例有规则

但是当我尝试检查端口是否打开时,它对我来说失败了

$ nc -zv public-ip 5432
nc: connectx to public-ip port 5432 (tcp) failed: Connection refused
$ nc -zv public-ip 22  
Connection to public-ip port 22 [tcp/ssh] succeeded!
$ psql -h public-ip -p 5432 --username=myuser --dbname=mydb --password 
Password: 
psql: error: connection to server at "public-ip", port 5432 failed: Connection refused
    Is the server running on that host and accepting TCP/IP connections?

我尝试重新启动虚拟机,但没有帮助。我错过了什么?

连接被拒绝意味着您可以启动 TCP 连接,但没有进程正在侦听该端口,因此连接尝试被拒绝。这意味着防火墙可能不是问题所在。防火墙问题通常会导致 Timeout 错误。

编辑postgresql.conf配置文件:

listen_addresses = '*'

18.3.1. Connection Settings