【问题标题】:Configure PostgreSQL to work for only LOCALHOST or specified ip + port [closed]将 PostgreSQL 配置为仅适用于 LOCALHOST 或指定的 ip + 端口 [关闭]
【发布时间】:2012-08-01 05:54:14
【问题描述】:

我想将 PostgreSQL 配置为仅接受来自指定 IP 的连接。它不应该接受来自任何其他 IP 的请求。

【问题讨论】:

  • Pg 版本?操作系统?你的意思是本地主机吗?还是“只接受来自一个指定的非本地 IP 地址的连接”?

标签: postgresql configuration ipconfig


【解决方案1】:

下面的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 

【讨论】:

    【解决方案2】:

    最简单的方法是让 PostgreSQL 仅在 localhost 上侦听传入连接。相关参数为postgresql.conf中的listen_addresses。文档是here

    【讨论】:

      【解决方案3】:

      检查 PostgreSQL 数据文件夹中的pg_hba.conf 文件。这是客户端身份验证配置文件。

      # TYPE  DATABASE        USER            ADDRESS                 METHOD
      host    testdb           testuser      192.168.1.1               md5
      local   testdb           all                                     md5
      

      将以上内容添加到 pg_hba.conf 文件中

      【讨论】:

      • 请注意,PostgreSQL 仍将接受来自它通过listen_addresses in postgresql.conf 绑定到其端口的任何接口的 TCP 套接字连接,它只是不会让它们进行身份验证。如果您想阻止 TCP 握手,则需要使用 iptables
      猜你喜欢
      • 2010-11-20
      • 1970-01-01
      • 1970-01-01
      • 2011-03-23
      • 1970-01-01
      • 2013-05-14
      • 1970-01-01
      • 2012-04-16
      • 1970-01-01
      相关资源
      最近更新 更多