You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker部署Telegram机器人时PostgreSQL出现未知登录报错如何解决?

解决方案

方案1:删除数据库公网端口映射(最推荐)

你的PostgreSQL容器和机器人容器同属于steamtrader_botnet自定义桥接网络,本身就能直接通过服务名互相访问,完全不需要把5432端口暴露到公网,这也是你现在收到大量暴力破解请求的核心原因。直接修改docker-compose.yml里steamtrader_db的ports配置即可:

# 删掉或者注释掉这两行端口映射配置
# ports:
#   - 5432:5432

修改后重新启动服务:
docker-compose up -d
修改后外部网络根本访问不到你的数据库,自然不会再有暴力破解请求,也完全不影响机器人的爬虫功能和数据库连接,机器人连接数据库时直接用服务名steamtrader_db作为数据库host即可。

方案2:确需对外暴露端口时配置IP白名单

如果你有本地远程连接数据库的需求,必须暴露5432端口的话,可以修改端口映射规则限定允许访问的源IP:

ports:
  # 只允许指定IP访问,示例为允许123.123.123.123这个IP访问
  - 123.123.123.123:5432:5432
  # 多个允许访问的IP/IP段可以加多行配置
  - 192.168.1.0/24:5432:5432

也可以通过服务器的防火墙工具(ufw、firewalld等)配置5432端口的访问白名单,效果一致。

额外安全建议

  • 数据库密码设置为强密码,包含大小写字母、数字、特殊符号,长度不低于16位
  • 不要使用postgres这类默认用户名,自定义专属的数据库用户名
  • 定期升级PostgreSQL镜像版本,修复已知安全漏洞

内容的提问来源于stack exchange,提问作者429

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 17:24:00