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.
网络中的每个人都可以连接。