AWS RDS: error: password authentication failed for user "ubuntu" from EC2
AWS RDS: error: password authentication failed for user "ubuntu" from EC2
我有一个 postgres RDS 实例,EC2 实例上的 Node.js Web 应用程序 运行 无法连接到该实例。我的 EC2 节点日志中的错误是:error: password authentication failed for user "ubuntu"
我可以确认我拥有正确的用户名、密码、数据库名称等,因为它在我的机器上的开发版本上工作正常。我将所有 .env 参数准确地复制到我的 ec2 机器中用于生产构建。在我的生产应用程序网页上尝试连接到 RDS 时失败。我已经多次重新启动 Node.js 服务器并重新启动了整个 ec2 机器。我已经确认环境变量与 printenv 一起存在。
您建议如何尝试解决此问题?
编辑以获取更多详细信息:我的 nodejs 设置应该是正确的,因为我的 nodejs 服务器将调用一些不需要我的 postgres 数据库的外部 API,并且这些调用可以正常工作。
EDIT2:这很奇怪,因为我的 RDS 用户名是 postgres,而我的 EC2 用户名是 ubuntu。我想知道环境变量之间是否存在某种冲突。我检查了 printenv 但没有找到
EDIT3:查看我的解决方法的评论。
我建议通过在 EC2 实例上使用 psql 客户端直接连接到 RDS 数据库来测试数据库凭据。
我有一个 postgres RDS 实例,EC2 实例上的 Node.js Web 应用程序 运行 无法连接到该实例。我的 EC2 节点日志中的错误是:error: password authentication failed for user "ubuntu"
我可以确认我拥有正确的用户名、密码、数据库名称等,因为它在我的机器上的开发版本上工作正常。我将所有 .env 参数准确地复制到我的 ec2 机器中用于生产构建。在我的生产应用程序网页上尝试连接到 RDS 时失败。我已经多次重新启动 Node.js 服务器并重新启动了整个 ec2 机器。我已经确认环境变量与 printenv 一起存在。
您建议如何尝试解决此问题?
编辑以获取更多详细信息:我的 nodejs 设置应该是正确的,因为我的 nodejs 服务器将调用一些不需要我的 postgres 数据库的外部 API,并且这些调用可以正常工作。
EDIT2:这很奇怪,因为我的 RDS 用户名是 postgres,而我的 EC2 用户名是 ubuntu。我想知道环境变量之间是否存在某种冲突。我检查了 printenv 但没有找到
EDIT3:查看我的解决方法的评论。
我建议通过在 EC2 实例上使用 psql 客户端直接连接到 RDS 数据库来测试数据库凭据。