服务器中的数据库 运行 可以拒绝连接,并且一旦修复,服务器本身就会拒绝连接吗?

Can a database running in a server refuse a connection, and once fixed, the server itself refuses it?

我正在连接 Ubuntu 服务器中的 Postgresql 数据库 运行。我在办公室这样做没有问题,但是当我尝试从家里连接时,连接被拒绝了。

FATAL:  no pg_hba.conf entry for host "XX.XXX.XX.XX", user "postgres", database "postgres", SSL off

所以,我将我的 ip 添加到 conf 文件

host    all             postgres        XX.XXX.XX.XX            md5

以为我已经完成了,出现了一个新错误:

could not connect to server: Connection refused
    Is the server running on host "YYY.YY.YY.YY" and accepting
    TCP/IP connections on port 5432?

我将我的 ip 添加到服务器防火墙,但连接仍然被拒绝,同样的错误不断出现,即使服务器是 运行 并接受端口 5432 上的连接 来自 ufw:

5432/tcp                   ALLOW IN    XX.XXX.XX.XX

所以,一开始连接被服务器中的数据库拒绝,然后又被服务器本身拒绝,而不是相反,是不是很奇怪? 另外,如果服务器是 运行 并接受该端口的连接,我还能尝试什么来解决我的问题?

我解决了这个问题。在 conf 文件中,而不是行

host    all             postgres        XX.XXX.XX.XX            md5

我加了

host    all             all        XX.XXX.XX.XX/32            md5

现在一切正常。