PostgreSQL客户端验证

前端之家收集整理的这篇文章主要介绍了PostgreSQL客户端验证前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在windows下安装好Postgresql后,当作为服务时,有应用程序或者别的客户端需要访问刚刚安装的postgresql往往都会出现验证不能通过的异常或者错误,这个原因就是Postgresql会对连接上来的客户端的IP进行监听和验证。

在Postgresql中有一个参数listen_addresses,主要监听需要连接的客户端的IP,默认为“*”,表示监听所有的IP地址,这个一般不需要去修改,除非有特别的需求。此外,就需要注意“pg_hba.conf”配置文件。此文件存在于安装目录下的data文件夹下。

下面解释下这个文件的常用的配置:

TYPE DATABASE USER ADDRESSMETHOD

local database user auth-method [auth-options]

host database user address auth-method[auth-options]

hostssl database user address auth-method[auth-options]

hostnossl database user address auth-method[auth-options]

host database user IP-address IP-maskauth-method [auth-options]

hostssl database user IP-address IP-maskauth-method [auth-options]

hostnossl database user IP-address IP-maskauth-method [auth-options]

对于每一种TYPE这边不做一一介绍,主要介绍常用的配置TYPE=“host”的配置。

DATABASE指的是需要被访问的数据库名称,如果是特定的数据库名称,那么就是单指这个数据库,比如DATABASE=coms,指的是访问coms数据库时做客户端验证按照这条配置执行,但是除了制定的数据库就不能访问另外的数据库了,一般为了使用方便设置成ALL,表示可以访问所有的数据库;USER表示访问的用户名一般也是ALL,如果指定特定的用户那么意思跟DATABASE也是一样的。

METHOD意味着验证的方法,一般使用MD5,指的是md5加密的password的。

当然验证方法有很多,比如trust其表示无需验证无条件的Connect。

如password其指的是需要不加密的密码,如reject,gss,peer等等,在项目中应该用的比较多的是md5。

ADDRESS的配置至关重要,如127.0.0.1/32。

讨论在IPv4的情况下,

1.10.18.36.13/32 表示子网掩码255.255.255.255,这个配置指的是允许10.18.36.13按照一定的盘配置要求连接操作。

2.10.18.36.0/24 表示子网掩码255.255.255.0,这个配置指的是允许10.18.36.1到10.18.36.255的IP地址按照一定的配置要求连接操作。

3.10.18.0.0/16 表示子网掩码255.255.0.0,这个配置指的是允许10.18.1.1到10.18.255.255的IP地址按照一定的配置要求连接操作

4.10.0.0.0/8 表示子网掩码255.0.0.0,这个配置指的是允许10.1.1.1到10.255.255.255的IP地址按照一定的配置要求连接操作

5.0.0.0.0/0表示所有的IP都可以连接访问。

当本地应用程序的JDBC配置文件配置的是一个具体的IP地址,比如是10.18.36.13,应用程序访问本地的数据,如果在pg_hba.conf只是配置了127.0.0.1/32的话那么照样是访问不了的,解决这种情况有两种方式:

A.在JDBC配置文件中加具体的IP地址修改成localhost或者127.0.0.1;

在pg_hba.conf中添加这个IP的网段或者单个IP的 配置,如10.18.36.13/32. 原文链接:https://www.f2er.com/postgresql/195389.html

猜你在找的Postgre SQL相关文章