在docker环境中configurationtcp md5的Postgres
我正在尝试configurationPostgres以接收使用md5encryption密码的连接。 我阅读了大量的手册,并按照指示,但我没有成功。
我们有几个docker容器,其中一个是使用init_db.sh脚本configuration的Postgres 9容器。 正在运行的容器上的最终configuration是:
listen_addresses = '*' local all all md5 host all all all md5
运行:lsof -i tcp:5432(我现在在我的Mac上运行),产生了这样的结果:
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)
当我启动使用encryption密码运行的容器时,出现:ERROR org.apache.tomcat.jdbc.pool.ConnectionPool:182 – 无法创build池的初始连接。
2017-02-08T14:07:43.438478547Z org.postgresql.util.PSQLException: FATAL: password authentication failed for user "myuser"
当我把密码作为纯文本的时候就起作用了。
当我只将IPconfiguration到本地主机时,encryption和明文密码都起作用。
我configuration错了什么?
根据文档:
md5要求客户端提供用于validation的双MD5散列密码。 细节见第20.3.2节。
密码要求客户端提供未encryption的密码进行身份validation。 由于密码通过networking以明文forms发送,因此不应在不受信任的networking上使用。 细节见第20.3.2节。
jdbc连接将散列你提供的连接string本身的密码 – 你不必自己md5。
也看看这里: https : //stackoverflow.com/a/39038852/5315974
- 从Nexus Repository Manager OSS 3.0.1-01中移除Docker镜像
- Kubernetes cronjob报告失败和successfuJobsHistoryLimit“发现无效字段”
- Docker:多个具有公共容器的站点
- 是否有可能通过链接两个docker集装箱来自定义环境variables?
- 如何两次运行相同的docker图像
- docker-compose使用其他容器作为DNS
- Docker Swarm部署 – 等待服务/容器出现
- “docker-compose pull”无法拉出“docker”
- W:文件大小/var/lib/apt/lists/http.debian.net_debian_dists_jessie_main_binary-amd64_Packages.gz不是服务器报告的内容9101219 9117278