Azure Search调用ListIndexes接口遇CORS错误,如何添加本地主机允许源?
解决Azure Search本地开发环境CORS预检错误的方法
通过Azure门户配置
- 登录Azure门户,定位到你的Azure Cognitive Search服务实例
- 在左侧导航栏的「设置」分类下选择「CORS」选项
- 在「允许的来源」输入框中添加本地开发地址,比如
http://localhost:3000(根据你的项目实际端口调整),多个地址用逗号分隔 - 若你的请求需要携带认证凭据(如Cookie、HTTP认证信息),勾选「允许凭据」选项
- 点击页面顶部的「保存」按钮,等待配置生效
通过Azure CLI配置
- 打开终端,执行
az login完成Azure账号登录 - 运行以下命令更新CORS设置,替换占位符为你的实际信息:
az search service update --name <搜索服务名称> --resource-group <资源组名称> --cors-options allowedOrigins="http://localhost:3000,http://localhost:8080"
- 需要允许凭据的话,追加参数:
--cors-options allowCredentials=true
通过REST API配置
- 发送PUT请求到搜索服务的管理端点,URL格式:
https://<搜索服务名称>.search.windows.net/?api-version=2023-11-01 - 请求头需包含:
api-key: 你的搜索服务管理员密钥Content-Type: application/json
- 请求体示例(按需修改允许的源和参数):
{ "corsOptions": { "allowedOrigins": ["http://localhost:3000", "http://localhost:8080"], "allowCredentials": true, "maxAgeInSeconds": 300 } }
注意事项
- 本地地址必须和请求的源完全匹配,包括协议(http/https)、域名、端口,不能有多余的末尾斜杠
- 配置变更通常需要1-2分钟生效,不要立即测试
- 若仍有错误,查看浏览器控制台的具体错误信息,确认是否是源匹配问题,或存在其他CORS相关的配置冲突
内容的提问来源于stack exchange,提问作者Suhas Mehta
相关产品推荐
相关产品推荐

