长轮询对第九个请求做出响应502错误的网关

时间:2019-11-18 01:08:13

标签: asp.net-core signalr azure-web-sites cloudflare

我正在调试Azure架构,该架构由对应用程序服务执行CORS请求的Blob存储帐户组成。使用Signalr核心“ Long polling”设置请求配置。在第九次协商请求由于502 bad gateway错误而失败之前,CORS配置似乎正在工作。 DNS记录通过Cloudflare的路由,该Cloudflare提供DDOS保护/速率限制。

我的直觉告诉我,这是由JSON序列化期间的无限循环引起的。服务器重新启动或进行其他操作后,无法将通常执行的Access-Control-Allow-Origin标头添加到前8个请求中。

我需要使用上述工具来创建一致的流式连接的帮助。这将涉及解决bad gateway错误。

信号服务器配置

https://github.com/DoubleCouponDay/portfolio/blob/master/server/portfolio/Startup.fs

信号客户端配置

https://github.com/DoubleCouponDay/portfolio/blob/master/client/src/app/services/music.service.ts

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

通常,由于随机服务器崩溃,大多数人会因Signalr收到502错误的网关错误。没有一致的错误会总是与阅读此答案的人们的情况相符,因此在将来,错误的网关对于Signalr来说是非常普通的请求崩溃。

就我而言,这是由Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryzfjTeLXzaEUrfSO1 导致,它是从文件读取X509证书时引起的。该错误不会传播到Signalr客户端或Azure日志,因此必须进行远程调试才能检测到该错误。

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