Asp.net core Longpolling在第九次请求时响应502坏网关

Asp.net core Longpolling在第九次请求时响应502坏网关,asp.net-core,signalr,azure-web-app-service,cloudflare,Asp.net Core,Signalr,Azure Web App Service,Cloudflare,我正在调试一个Azure体系结构,该体系结构由一个blob存储帐户组成,该帐户执行对应用程序服务的CORS请求。使用信号器核心“长轮询”设置请求配置。CORS配置似乎一直在运行,直到第九次协商请求因502坏网关错误而失败。DNS记录通过Cloudflare的路由,Cloudflare提供DDOS保护/速率限制 我的直觉告诉我这是由JSON序列化期间的无限循环引起的。在服务器重新启动或其他操作后,它无法向以前的8个请求添加Access Control Allow Origin头 我需要帮助使用上述

我正在调试一个Azure体系结构,该体系结构由一个blob存储帐户组成,该帐户执行对应用程序服务的CORS请求。使用信号器核心“长轮询”设置请求配置。CORS配置似乎一直在运行,直到第九次协商请求因
502坏网关
错误而失败。DNS记录通过Cloudflare的路由,Cloudflare提供DDOS保护/速率限制

我的直觉告诉我这是由JSON序列化期间的无限循环引起的。在服务器重新启动或其他操作后,它无法向以前的8个请求添加
Access Control Allow Origin

我需要帮助使用上述工具创建一致的流式连接。这将涉及修复
坏网关
错误

信号服务器配置

信号机客户端配置


一般来说,由于随机服务器崩溃,大多数人都会在signalr中遇到502错误网关。不存在始终与阅读此答案的人的情况相匹配的一致性错误,因此在将来,假设坏网关是Signal的一个非常通用的请求崩溃

在我的例子中,它是由从文件读取X509证书时出现的
WindowsCryptographicException
引起的。错误不会传播到signalr客户端或azure日志,因此需要远程调试来检测此错误


解决方案是将
x509keystargeflags.MachineKeySet
enum作为参数传递给我的
X509Certificate
对象,而不是其他选项。这是因为服务器将证书存储在本地计算机存储中,而不是用户存储中。

502错误是问题所在。你没有CORS问题。每当服务器响应502错误时,预计它将不会具有访问控制允许来源,因为故障发生在执行设置该标头的服务器端应用程序代码之前。所以CORS与问题无关。