Javascript 我需要做一个“的代理点”;“网页应用见解”;遥测调用(Azure函数代理失败CORS选项调用)
我有一个html应用程序和Azure函数api。Application Insights正在通过呼叫向发送Teletry。我希望此流量通过以下URL之一:Javascript 我需要做一个“的代理点”;“网页应用见解”;遥测调用(Azure函数代理失败CORS选项调用),javascript,azure,azure-application-insights,custom-url,Javascript,Azure,Azure Application Insights,Custom Url,我有一个html应用程序和Azure函数api。Application Insights正在通过呼叫向发送Teletry。我希望此流量通过以下URL之一: 我的API上的url(即我的app.azurewebsites.net/telemetry) 我制作的附加API上的url(即我的应用程序telemetry.azurewebsites.net/telemetry) 在Azure上向我的应用程序洞察添加自定义url端点的方法 本质上,我需要在API中创建一个代理端点。我试过了,但到目前为止
- 我的API上的url(即我的app.azurewebsites.net/telemetry)
- 我制作的附加API上的url(即我的应用程序telemetry.azurewebsites.net/telemetry)
- 在Azure上向我的应用程序洞察添加自定义url端点的方法李>
{
"$schema": "http://json.schemastore.org/proxies",
"proxies": {
"Application insights": {
"matchCondition": {
"route": "telemetry",
"methods": [
"GET",
"POST",
"OPTIONS"
]
},
"backendUri": "https://dc.services.visualstudio.com/v2/track",
"responseOverrides": {
"response.headers.Access-Control-Allow-Origin": "*"
}
}
}
}
更新
@奈尔提供了一个解决方案。Azure函数代理默认情况下不代理CORS调用。您应该导航到“平台功能”=>“CORS”,并删除您在那里看到的所有内容(请参见接受答案中的屏幕截图)
默认情况下,它包含
"https://functions.azure.com",
"https://functions-staging.azure.com",
"https://functions-next.azure.com"
删除这些,Azure函数代理现在也应该转发CORS调用
在Azure函数模板中,它应该如下所示
"cors": {
"allowedOrigins": [], //this should be empty array
"supportCredentials": false
}
我最近确实有这个问题。结果表明,选项请求未使用默认azure函数CORS设置进行代理。您看到的400来自azure功能,不允许您使用源代码 简单修复:删除CORS设置下的所有条目,您可以代理选项请求
我可以问一下目的吗?那我可能会给你一个更好的建议answer@PeterBons我现在可以使用Application Insights,但我应该避免从浏览器调用第三方URL。