Azure /映像请求502(错误网关)错误 - 间歇性

时间:2014-06-04 15:27:29

标签: c# asp.net http azure handlers

我正在研究http://www.lovethesales.com - 并且遇到了一个恼人的问题。

由于您可能会在主页上看到自己,有时候,间歇性地,图像请求将因502 Bad Gateway错误而失败。这似乎发生在所有浏览器中 - (例如,您可以在Chrome开发人员工具中看到红色失败的请求)

问题/ imageproxy中的资源永远不会返回除200或304之外的任何内容。

1)这个页面(设置为显示500个结果)似乎永远不会有破坏的图像,即使它正在进行相似/相同的请求,但显示更多它们:

http://www.lovethesales.com/sales/?take=500

2)如果你按CTRL +刷新 - 它总是很好,只有你做'软'标题刷新才会收到502错误。 (只需点击刷新按钮)

处理程序是标准的IHttpHandler,注册如下:

<add name="ImageProxy" path="/home/imageproxy*" verb="*" type="LoveTheSales.Handlers.ImageProxy" resourceType="Unspecified" preCondition="integratedMode" />

关于如何解决这个问题的任何建议/想法都将非常受欢迎。

干杯, 戴夫

[编辑] 我已经设法在我的测试Azure实例上重新创建了这个问题(只有我使用它) - 并且,在打开完整的Web /请求日志记录后 - 我可以看到502请求甚至从未进入我的应用程序 - 它们不是甚至在日志中。我想这一定是Azure错误吗?

[编辑2] 这也发生在非Imageproxy请求上,因此,简单的静态图像也是如此

1 个答案:

答案 0 :(得分:1)

我倾向于处理类似这样的问题的一些事情

1)做一个小提琴手。对于某些用户/环境,此问题似乎很难重现。像Fiddler这样的工具可以让你准确记录发生的事情。特别有趣的是失败和后续请求/响应之间的差异(如果有的话)

2)这样做是因为用户没有注意到它。例如,刚刚重新提交请求的jquery错误处理程序。我曾经只发生过一次(当然在我自己打开小提琴手之前)。如果这个问题非常罕见,那么它可能足以处理0.1%正常出错的情况。

3)执行严重的负载测试(本地)。如果你看这里http://blog.wouldbetheologian.com/2014/07/502-bad-gateway-error-on-azure-websites.html,可能会有一个潜在的原因导致你的应用池崩溃。这不会被记录,新实例会被调整,但是对旧实例的请求会收到502个请求。

特别是最后一种情况适合我能看到的情景。