Lambda URL + .NET Core API,如何去除重复的CORS(跨源资源共享)'Access-Control-Allow-Origin'?

0

【以下的问题经过翻译处理】 从Chrome控制台可以看到。由于CORS策略的原因,已经阻止从来源 'https://localhost:5002' 访问 'https://lambdaurl' 的获取请求:'Access-Control-Allow-Origin' 标头包含多个值 '*, *',但只允许一个值。请确保服务器发送带有有效值的头,或者如果不需要CORS响应,则将请求的模式设置为'no-cors'以禁用CORS获取资源。

看起来核心Web API和Lambda都添加了 'Access-Control-Allow-Origin': *' 标头,而Chrome不满足。是否有办法配置Lambda URL,以避免重复发送该标头?

profile picture
專家
已提問 5 個月前檢視次數 50 次
1 個回答
0

【以下的回答经过翻译处理】 如果您在.NET代码中处理CORS,您可以禁用Lambda函数的自动CORS处理。这个选项可以通过AWS管理控制台或AWS CLI来禁用。如果您使用基础设施即代码(IaC)(例如CloudFormation或SAM)部署您的函数,请不要在那里设置相应的配置,也就是说,不要指定Cors或FunctionUrlConfig对象。

请注意,自动CORS处理默认是禁用的。

请注意,默认情况下自动CORS处理被禁用。

您还可以阅读此博客文章,该文章解释了如何配置Lambda URL。

或者,您可以利用Lambda函数功能来自动处理CORS。然后,您应该从您的.NET Web API初始化代码("AddCors()"和"UseCors()"方法)中删除CORS配置。

profile picture
專家
已回答 5 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南