Azure API管理:原始标头丢失或为空,并且该请求被分类为非跨域。未应用CORS政策

问题描述 投票:0回答:1

我正在使用Azure API管理,并且需要使用它来管理三个API。测试时,GET方法工作正常,但是post方法出现以下错误:

原始标头丢失或为空,并且该请求被分类为非跨域。未应用CORS政策。

我已经四处搜寻并看到了许多有关CORS和APIM的问题,但是到目前为止,我还没有看到我的具体问题。

CORS策略的当前配置为

<policies>
<inbound>
    <cors>
        <allowed-origins>
            <origin>*</origin>
        </allowed-origins>
        <allowed-methods>
            <method>GET</method>
            <method>POST</method>
        </allowed-methods>
    </cors>
</inbound>
<backend>
    <forward-request />
</backend>
<outbound />
<on-error />
</policies>

我在以下位置寻找答案:

https://docs.microsoft.com/en-us/azure/api-management/api-management-cross-domain-policies

Azure API Management CORS: Why do I get "Headers starting with 'Access-Control-' were removed..."

https://briancaos.wordpress.com/2018/04/05/azure-api-management-configure-cors-in-the-policy/

我的问题是1.我需要如何制定我的CORS政策,2.是否需要在API Startup.cs或配置文件中添加任何内容以处理CORS?

谢谢?

azure cors azure-api-management
1个回答
0
投票

此消息本身并不表示任何问题,它仅指出接收到的请求不是CORS请求,因此将忽略CORS策略。仔细阅读CORS规范,正确的CORS请求必须至少具有Origin和用于非平凡请求的可选Access-Control-Request-Method标头。您可以使用VSCode REST客户端,Postman或Fiddler之类的工具来模拟此类请求,并查看正在使用的CORS策略。或者,如果您已经拥有浏览器客户端,请使用该客户端,浏览器将负责发送适当的标头。

© www.soinside.com 2019 - 2024. All rights reserved.