【发布时间】:2012-08-01 05:54:14
【问题描述】:
我想将 PostgreSQL 配置为仅接受来自指定 IP 的连接。它不应该接受来自任何其他 IP 的请求。
【问题讨论】:
-
Pg 版本?操作系统?你的意思是本地主机吗?还是“只接受来自一个指定的非本地 IP 地址的连接”?
标签: postgresql configuration ipconfig
我想将 PostgreSQL 配置为仅接受来自指定 IP 的连接。它不应该接受来自任何其他 IP 的请求。
【问题讨论】:
标签: postgresql configuration ipconfig
下面的pg_hba.conf允许本地和指定Ip有权限登录, 但拒绝别人。
# TYPE DATABASE USER ADDRESS METHOD
local all all trust
host testdb testuser 192.168.1.1/32 md5
host all all 0.0.0.0/0 reject
【讨论】:
最简单的方法是让 PostgreSQL 仅在 localhost 上侦听传入连接。相关参数为postgresql.conf中的listen_addresses。文档是here。
【讨论】:
检查 PostgreSQL 数据文件夹中的pg_hba.conf 文件。这是客户端身份验证配置文件。
# TYPE DATABASE USER ADDRESS METHOD
host testdb testuser 192.168.1.1 md5
local testdb all md5
将以上内容添加到 pg_hba.conf 文件中
【讨论】:
listen_addresses in postgresql.conf 绑定到其端口的任何接口的 TCP 套接字连接,它只是不会让它们进行身份验证。如果您想阻止 TCP 握手,则需要使用 iptables。