我在s3中有一个Angular应用,在lambda中调用.NET Core App。Lambda .NET Core App中的API针对RDS SQL Server运行。
我在尝试与RDS交互时从LAMBDA中的.NET Core App中返回504错误,但是如果我评论调用数据库的C#代码,则不会。
我可以在本地运行Angular App和.Net Core App时,可以将AWS上的RDS数据库罚款,这证明了连接到RDS DB的连接字符串可工作。(本地IP地址与创建RDS SQL Server的使用相同。(
当本地运行什么都没有运行时,我会遇到504 PORT 504错误。进一步信息说:从https://example.com上,可以访问'https://xxxxx.execute-api.us-east-1.amazonaws.com/prod/api/myapi''https:///example.com'已被阻止CORS策略:没有"访问控制"标题在请求的资源上。
从我的lambda .Net Core App的API?
我不认为连接到RDS是您的问题,问题是您的ReactFiles不在Lambda函数所在的同一域上。这会导致504。最快的解决方案是在服务器上设置CORS策略。您可以轻松地在API-GATEWAY中配置该配置。请参阅https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html#apigateway-responding-to-conding-to-cors-cors-preflight