配置 Azure Functions 本地主机的 CORS
问题的原因是在本地开发Azure Functions时,需要配置CORS(跨域资源共享)来允许特定的URL访问。解决方法是通过在命令行中启动主机时使用func host start --cors *
命令,或者在local.settings.json
文件中添加"CORS": "*"
的配置。这个问题在Windows 8.1和VS Code环境下出现,虽然已在host.json
中添加了相同的设置,但似乎无法在本地开发时起作用。更多内容可以参考https://github.com/Azure/azure-webjobs-sdk-script/issues/1012。
问题的原因:在Azure Functions本地主机上配置CORS时遇到问题。
解决方法:通过修改本地设置文件local.settings.json来配置CORS。将CORS的值设置为需要允许访问的域名,如果只允许单个域名访问,注意在域名后面不要加斜杠(/)。同时,将"Host"部分放在"Values"外面,不要嵌套在"Values"中。如果在请求中包含授权令牌,则还需要包含CORSCredentials: true。示例代码如下:
{
"Values": {
},
"Host": {
"CORS": "https://localhost:3001",
"CORSCredentials": true
}
}