问题描述
我们可以为客户端的相同IP地址同时为Postgresql配置基本身份验证和证书身份验证吗? 我认为不可以,因为它们是两种不同的身份验证机制,并且不能同时共存...因为如果我们配置证书身份验证,则它不能使用用户名密码进行身份验证,而只能使用证书进行身份验证。>
请帮助。
解决方法
是的,这是正确的-对于给定的连接,您只能使用一种身份验证方法。
,是的,您可以与任何身份验证方法一起指定clientcert
。因此md5 clientcert=verify-full
既需要证书也需要密码。
verify-full仅在v12中引入。在此之前,您只能让它检查证书是否经过有效签名,而不是检查证书上的CN是否与声明的用户名匹配。
,我尝试过自己。 在pg_hba.conf文件中,我们可以为一组IP地址设置MD5身份验证,为另一个IP地址范围设置cert。 所以1个Postgres服务器可以为2个不同的IP地址处理2个不同的身份验证