Cors Azure函数http调用在本地主机上时始终返回阻止的跨源请求
我刚开始使用Azure函数,当我从Angular调用HTTP触发器函数时,我得到: 跨源请求被阻止:同源策略不允许在[MY_ENDPOINT]读取远程资源。(原因:CORS请求未成功) 我正在localhost上运行,初始搜索指向将配置添加到local.settings.json:Cors Azure函数http调用在本地主机上时始终返回阻止的跨源请求,cors,azure-functions,Cors,Azure Functions,我刚开始使用Azure函数,当我从Angular调用HTTP触发器函数时,我得到: 跨源请求被阻止:同源策略不允许在[MY_ENDPOINT]读取远程资源。(原因:CORS请求未成功) 我正在localhost上运行,初始搜索指向将配置添加到local.settings.json: "Host": { "LocalHttpPort": 7071, "CORS": "*", "CO
"Host": {
"LocalHttpPort": 7071,
"CORS": "*",
"CORSCredentials": false
}
我还尝试了上面的CORS
我已经设置了我的local.settings.json属性
我还尝试导航到项目属性>调试>应用程序参数并添加
host start --useHttps --cors *
我已经检查过,我可以通过postman和与之相关的招摇过市ui运行它来获得响应。因此,我相信这不是一个转移注意力的问题,问题在于浏览器CORS的飞行前请求。但是如何修复它呢?我在本地复制了错误,并通过使用
local.settings.json
执行相同的操作来解决它
我问您是否在门户上运行该功能,因为您提到了“始终复制”选项。如果您已经将该功能部署到Azure,请在门户上设置CORS
如果你还没有解决这个问题,请告诉我。我终于找到了答案 我的第一次尝试: local.settings.json
"Host": {
"LocalHttpPort": 7071,
"CORS": "*",
"CORSCredentials": false
}
失败,因为当我按F5运行项目时,local.settings.json
被忽略,或者因为我通过https为我的客户端提供服务,而我通过http或两者都提供服务
我的第二次尝试:
项目->属性->调试->应用程序参数
主机启动--使用HTTPS--cors*
按F5开始
似乎失败了,因为我继续犯错误
已阻止跨源请求:同一源策略不允许读取位于的远程资源https://localhost:7071/api/foo. (原因:CORS请求未成功)
我在Firefox中运行我的应用程序,但切换到chrome返回:
net::ERR\u CERT\u AUTHORITY\u无效
解决方案1:(检查想法是否可行的黑客方法)
Project->Properties->Debug->Application arguments
:
主机启动--使用HTTPS--证书\“myCert.pfx\”--密码\“somePassword\”
您是否在本地运行Angular项目并在门户上运行Azure功能?我正在本地运行它