首页 > 解决方案 > 我在 AWS linux 2 上设置弹性 bean stalk 时遇到问题。这是一个以 Postgres 作为数据库的 laravel 应用程序。用户密码验证失败

问题描述

我在 AWS 上的弹性豆茎上有一个 laravel 应用程序。我使用 Postgres 作为数据库。它是 AWS linux 2。

当我尝试将本地连接到数据库时,我收到此错误。

我尝试修改数据库的入站规则,仍然无法正常工作。

Illuminate\Database\QueryException: SQLSTATE[08006] [7] FATAL: 用户“postgres”的密码认证失败 FATAL: 用户“postgres”的密码认证失败(SQL: select count(*) as aggregate from “user” where “phoneNumber " = +1111111111111111) 在第 692 行的文件 /var/app/current/vendor/laravel/framework/src/Illuminate/Database/Connection.php 中

标签: phppostgresqlamazon-web-servicesamazon-elastic-beanstalk

解决方案


如果您的数据库是 AWS RDS 上的托管 PostgreSQL

然后你可能想重置用户的密码postgres

根据RDS 手册

要修改主用户密码,请执行以下步骤:

  1. 打开Amazon RDS 控制台
  2. 选择数据库
  3. 选择 RDS 数据库实例,然后选择Modify
    注意:如果您使用 Aurora,请展开集群,然后选择您要修改的实例。然后,选择修改
  4. 在“新主密码”字段中输入您要使用的主用户密码。
    注意:密码更改是异步的,并且会尽快应用。此更改忽略立即应用设置。
  5. 选择继续,然后选择修改数据库实例

RDS 仪表板上的 RDS 数据库实例的状态字段更改为reset-master-credentials。修改完成后,Status列变为Available。您还可以使用Amazon RDS APIAWS 命令​​行界面 (AWS CLI)修改 RDS 数据库实例。

如果您的数据库是自行部署到AWS EC2实例的

然后,您可能希望启用基于密码的postgres用户身份验证。默认情况下,它对新数据库实例禁用。

  1. 查找pg_hba.conf文件 要在您的服务器上查找 pg_hba.conf 文件,您可以查看 PostgreSQL 配置目录。例如:
find /etc/postgresql/ -name pg_hba.conf
  1. 然后在你的文件中打开找到的文件${EDITOR}
  2. 要允许对来自本地 192.168.0.0/24 网络的任何连接进行 md5 密码验证,请添加如下行:
# TYPE    DATABASE    USER        ADDRESS         METHOD  OPTIONS
host      all         all         192.0.0.0/24    md5
  1. 然后重启PostgreSQL:
sudo pgctl restart

推荐阅读