Elastic Beanstalk Django 数据库配置
Posted
技术标签:
【中文标题】Elastic Beanstalk Django 数据库配置【英文标题】:Elastic Beanstalk Django Database Configuration 【发布时间】:2019-08-06 03:03:10 【问题描述】:我遇到了这样一种情况,即我的 django 应用程序无法连接到由同一个 EBS 环境启动的 postgres 实例。
我已确认 RDS 和 EC2 实例所在的安全组已设置为进行通信。
我确认数据库的凭据是正确的,因为我可以使用 CLI 让 postgres 在本地登录,也可以通过 ssh 登录到 EC2 实例。
第三个也是最奇怪的症状是迁移起作用了。因此,在迁移时,应用程序能够连接到数据库并运行迁移,但是当尝试通过views.py
文件访问这些表时,我得到了可怕的password authentication failed
错误。
我完全被困住了,在过去的几个小时里一直在尝试我能想到的一切。我能得到的任何帮助都将是巨大的帮助。谢谢!
【问题讨论】:
您是否提供了DB_PASSWORD=os.environ.get(DB_PASS,"somedefault")
之类的默认值,并且可能未加载 env 我曾经遇到过同样的问题,并且错误未正确加载 env。执行print(DB_PASSWORD)
并检查
那么,如果我切换 Postgres 版本,它看起来可以工作吗?它并没有真正解释为什么迁移起作用而只读端不起作用,但它现在似乎正在起作用
【参考方案1】:
好的,很遗憾,我不一定知道为什么会这样,但如果我将 RDS Postgres 实例从 11.1 版切换到 10.x 版,它似乎可以解决问题。希望这可以节省其他人一些时间!抱歉,我无法指出为什么会修复它
【讨论】:
我猜可能是另一个原因,但很好,它解决了你的问题以上是关于Elastic Beanstalk Django 数据库配置的主要内容,如果未能解决你的问题,请参考以下文章
授权凭证剥离 --- django, elastic beanstalk, oauth
Elastic Beanstalk 上的 Django + MySQL - 查询 MySQL 时出错
AWS Elastic Beanstalk 上禁止使用 Django 403