我正在尝试配置Postgres以接收带有md5加密密码的连接。我阅读了大量的手册并按照说明操作,但我没有成功。
我们有几个docker容器,其中一个是我们使用init_db.sh脚本配置的Postgres 9容器。正在运行的容器上的最终配置是:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
com.docke 17454 sigals 36u IPv4 0x13ec351b99f025cd 0t0 TCP *:postgresql (LISTEN)
com.docke 17454 sigals 37u IPv6 0x13ec351b8ce8a025 0t0 TCP localhost:postgresql (LISTEN)
正在运行:lsof -i tcp:5432(我现在在我的Mac上运行),产生了这个:
2017-02-08T14:07:43.438478547Z org.postgresql.util.PSQLException: FATAL: password authentication failed for user "myuser"
当我启动使用加密密码运行的容器时,我得到: 错误org.apache.tomcat.jdbc.pool.ConnectionPool:182 - 无法创建池的初始连接。
$scope.submissionInProgress
当我把密码作为明文时,它可以工作。
当我仅将IP配置为localhost时,加密密码和纯文本密码都有效。
我配置错误了什么?
答案 0 :(得分:0)
md5要求客户端提供双MD5哈希密码 认证。有关详细信息,请参见第20.3.2节。
密码要求客户端提供未加密的密码 认证。由于密码是以明文形式发送的 网络,不应该在不受信任的网络上使用。见章节 20.3.2了解详情。
jdbc连接将散列您在连接字符串中提供的密码 - 您不必自己使用md5。