无法远程访问 PostgreSQL

无法远程访问 PostgreSQL

Debian 中有 PostgreSQL 9.2。我的/etc/postgresql/9.2/main/postgresql.conf文件包含:

listen_addresses = '127.0.0.0, 212.49.109.137'
password_encryption = on

“212.49.109.137”是运行 PostgreSQL 的计算机的 IP。

/etc/postgresql/9.2/main/pg_hba.conf包含:

host    all         all        85.12.201.202         255.255.255.0  md5

85.12.201.202 是尝试连接的客户端的 IP 地址。我尝试使用以下方式连接:

psql -h 212.49.109.137 -U postgres -d postgis_template

并得到错误:

psql: could not connect to server: Timeout
Is the server running on host "212.49.109.137" and accepting
TCP/IP connections on port 5432?

netstat -pln我看到:

tcp        0      0 127.0.0.0:5432          0.0.0.0:*               LISTEN      5127/postgres   

答案1

清单:

  • 配置更改后是否重新加载/重新启动服务器?
  • 防火墙是否配置为通过来自客户端的 TCP 端口 5432?
  • PostgreSQL 实际上在该端口上运行吗?使用netstat -tnlp | grep :5432来找出答案。 (以root身份运行以获取程序名称)
  • 没有其他规则pg_hba.conf阻止访问吗?
  • 您的错误日志中是否有任何错误?

现在我正在查看您的具体配置,看来您以错误的方式指定了子网掩码。试试这个:

host    all     all     85.12.201.202/32    md5

我与您的掩码 255.255.255.0 不同,因为它允许85.12.201.网络中的每个人都可以连接。

相关内容