我在S3中有一个Angular应用,在Lambda中调用一个.Net核心应用。Lambda .Net核心应用程序中的一个应用程序接口在RDS SQL Server上运行。
当Lambda中的RDS核心应用程序尝试与.Net交互时,我得到一个504错误,但如果我注释掉调用数据库的C#代码,就不会返回504错误。
当我在本地运行Angular应用程序和.Net核心应用程序时,我可以很好地连接到AWS上的RDS数据库,这证明了RDS DB的连接字符串是有效的。(本地IP地址与用于创建RDS SQL Server的地址相同。)
当在本地不运行任何东西时,我得到一个POST 504错误。进一步的信息显示: CORS策略已阻止从源'https://example.com‘访问'https://xxxxx.execute-api.us-east-1.amazonaws.com/Prod/api/myapi’处的XMLHttpRequest :请求的资源上没有' Access -Control-Allow- origin‘标头。
我必须做什么才能从我的Lambda .Net核心应用程序的应用程序接口成功连接到我的SQL Server数据库?
发布于 2019-05-21 05:14:05
我不认为连接到RDS是你的问题,问题是你的反应文件不在Lambda函数所在的同一个域上。这导致了504。最快的解决方案是在服务器上设置CORS策略。您可以在api-gateway中轻松地对其进行配置。请参阅https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html#apigateway-responding-to-cors-preflight
https://stackoverflow.com/questions/56227282
复制相似问题