访问 Azure 应用服务上托管的 SignalR 中心时出现 CORS 错误

问题描述 投票:0回答:1

我有一个在 Azure 应用服务实例上运行的 .Net Core 应用程序。该应用程序是一个 WebAPI,也有一个 SignalR Hub。后端和中心都由 Azure 静态 Web 应用程序上托管的客户端使用。

Azure 静态 Web 应用程序自动将 SSL 证书添加到客户端,Azure 应用服务自动将 SSL 证书添加到 .Net 应用程序。

客户端和后端通信可以通过 SSL 完美运行,但是当尝试与 Hub SignalR 进行客户端通信时,会返回以下错误:

从源“https://client-app.5.azurestaticapps.net”获取“https://backend-service.azurewebsites.net/hub/shop/negotiate?negotiateVersion=1”的访问已被 CORS 阻止策略:对预检请求的响应未通过访问控制检查:响应中“Access-Control-Allow-Credentials”标头的值为“”,当请求的凭据模式为“include”时,该值必须为“true”。

Chrome Error

该服务工作正常,直到几天前,在没有进行任何修改的情况下开始出现错误。

azure cors signalr signalr-hub azure-appservice
1个回答
0
投票

解决方案:

在 Azure Web App 配置面板中,转到 CORS 边栏选项卡(API 组内),然后在“请求凭据”部分中启用“启用访问控制允许凭据”选项。

Azure Web App Portal

可能原因:

就我而言,以上都不是有效的解决方案。由于凭据的使用在我的场景中至关重要,并且我的 CORS 策略配置良好。我还可以假设 Azure Static Web App 在请求上添加额外的标头。

© www.soinside.com 2019 - 2024. All rights reserved.