我在 AWS linux 2 上设置弹性 beanstalk 时遇到问题。这是一个以 Postgres 作为数据库的 laravel 应用程序。用户密码验证失败
Posted
技术标签:
【中文标题】我在 AWS linux 2 上设置弹性 beanstalk 时遇到问题。这是一个以 Postgres 作为数据库的 laravel 应用程序。用户密码验证失败【英文标题】:I'm having a problem with an elastic bean stalk setup on AWS linux 2. It's a laravel App with Postgres as the DB. Password auth failed for user 【发布时间】:2021-11-12 23:22:23 【问题描述】:我在 AWS 上的弹性豆茎上有一个 laravel 应用程序。我使用 Postgres 作为数据库。它是一个 AWS linux 2。
当我尝试将本地连接到数据库时,我收到此错误。
我试过修改db的入站规则,还是不行。
Illuminate\Database\QueryException: SQLSTATE[08006] [7] 致命: 用户“postgres”的密码验证失败致命:密码 用户“postgres”的身份验证失败(SQL:选择 count(*) as 从文件中的“用户”聚合,其中“电话号码”= +1111111111111111) /var/app/current/vendor/laravel/framework/src/Illuminate/Database/Connection.php 在第 692 行
【问题讨论】:
可能是重复的:***.com/questions/7695962/… 这能回答你的问题吗? 'password authentication failed for user "postgres"' 【参考方案1】:如果您的数据库是 AWS RDS 上的托管 PostgreSQL
那么您可能需要重置postgres
用户的密码。
根据RDS manual
要修改主用户密码,请按以下步骤操作:
打开Amazon RDS console。 选择数据库。 选择 RDS 数据库实例,然后选择 Modify。注意:如果您使用 Aurora,请展开集群,然后选择您要修改的实例调整。然后,选择修改。 在新主密码字段中输入您要使用的主用户密码。注意:密码更改是异步的,会尽快应用.此更改忽略了立即应用设置。 选择Continue,然后选择Modify DB Instance。
RDS 仪表板上的 RDS 数据库实例的 Status 字段更改为 resetting-master-credentials。修改完成后,Status 列变为Available。您还可以使用Amazon RDS API 或AWS Command Line Interface (AWS CLI) 修改RDS 数据库实例。
如果您的数据库是自行部署到AWS EC2
实例
然后您可能想要启用postgres
用户的基于密码的身份验证。对于新的数据库实例,默认情况下它是禁用的。
-
找到
pg_hba.conf
文件
要在您的服务器上找到 pg_hba.conf 文件,您可以查看 PostgreSQL 配置目录。
例如:
find /etc/postgresql/ -name pg_hba.conf
-
然后打开您的
$EDITOR
中找到的文件
要允许对来自本地 192.168.0.0/24 网络的任何连接进行 md5 密码验证,请添加如下一行:
# TYPE DATABASE USER ADDRESS METHOD OPTIONS
host all all 192.0.0.0/24 md5
-
然后restart PostgreSQL:
sudo pgctl restart
【讨论】:
【参考方案2】:你是对的@Yasen,谢谢伙计。
修改密码成功
我之前就想到了,但我只是不断地用相同的密码创建新的数据库实例,但它一直失败。
无论如何,根本问题是密码在 laravel 中包含“#”和“#”,因此 php 表示注释; 因此,它以某种方式影响了验证过程。
【讨论】:
以上是关于我在 AWS linux 2 上设置弹性 beanstalk 时遇到问题。这是一个以 Postgres 作为数据库的 laravel 应用程序。用户密码验证失败的主要内容,如果未能解决你的问题,请参考以下文章
validate_email python库在本地机器上工作,但不在aws弹性bean上
AWS Route53 指向弹性 beanstalk webapp
.Net 5 AWS nginx Linux弹性beantalk改变client_max_body_size
在 aws 弹性负载均衡器上无法让 https 使用自签名证书
通过 ACM 和负载均衡器为 aws Nodejs 弹性 beanstalk 设置了 HTTPS,我如何在 s3 存储桶中为 Angular 设置 HTTPS