502使用Atlas、Mongoose和Lambda的错误网关

h5qlskok  于 2022-10-04  发布在  Go
关注(0)|答案(1)|浏览(174)

我只是尝试使用Serverless和Lambda向我的Atlas集群发出GET和POST请求。我遵循了下面所有非常相似的教程:

https://hackernoon.com/building-a-serverless-rest-api-with-node-js-and-mongodb-2e0ed0638f47

https://dev.to/adnanrahic/a-crash-course-on-serverless-apis-with-express-and-mongodb-193k

https://dev.to/saigowthamr/build-and-deploy-a-rest-api--using-serverless-express-and-nodejs-3331

Https://blog.eduonix.com/web-programming-tutorials/serverless-development-nodejs-aws-lambda/?unapproved=84149&moderation-hash=9ac99ba21b72d6be12fbb14c1005a540#comment-84149

使用InSomnia或Postman,我可以向本地托管的数据库发出GET和POST请求,但不能向Atlas集群发出请求。这些请求总是导致502错误的网关,并显示JSON消息“内部服务器错误”。我尝试将集群主机从AWS切换到Azure,但没有帮助。关于各种驱动程序,我尝试了各种连接字符串。我已将所有IP列入白名单,因此访问权限不是问题。请帮帮忙。

mkshixfv

mkshixfv1#

我删除了Atlas帐户中的集群、项目、组织和用户,然后重新开始。我没有通过Network Access选项卡手动创建新用户,而是使用创建集群时得到的提示创建了一个用户。我注意到在建立连接时有一条关于特殊字符的说明:

  • 输入密码时,请确保所有特殊字符都是URL编码的。*

我之前的密码使用了@符号,这可能导致了问题。因此,在使用电子邮件地址作为用户名时要小心。我像往常一样给用户分配了0.0.0.0/0。我认为这无关紧要,但我只有一个用户,我也给那个用户添加了评论。现在,我可以使用2.2.12或更高版本的Node.js驱动程序连接字符串建立连接。我希望这对某些人有帮助。

相关问题