Azure API管理:原始标头丢失或为空,并且该请求被分类为非跨域。未应用CORS政策
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Azure API管理:原始标头丢失或为空,并且该请求被分类为非跨域。未应用CORS政策相关的知识,希望对你有一定的参考价值。
我正在使用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?
谢谢?
此消息本身并不表示任何问题,它仅指出接收到的请求不是CORS请求,因此将忽略CORS策略。仔细阅读CORS规范,正确的CORS请求必须至少具有Origin和用于非平凡请求的可选Access-Control-Request-Method标头。您可以使用VSCode REST客户端,Postman或Fiddler之类的工具来模拟此类请求,并查看正在使用的CORS策略。或者,如果您已经拥有浏览器客户端,请使用该客户端,浏览器将负责发送适当的标头。
以上是关于Azure API管理:原始标头丢失或为空,并且该请求被分类为非跨域。未应用CORS政策的主要内容,如果未能解决你的问题,请参考以下文章
为什么在调用azure数据湖gen2的put文件api时出现丢失的头错误?
TSQL - 对象或列名丢失或为空.. 尝试将 sql server 数据库备份到磁盘时