【问题标题】:ASPX.NET Core - random 502 error on IIS serverASPX.NET Core - IIS 服务器上的随机 502 错误
【发布时间】:2016-11-24 16:28:33
【问题描述】:

我们刚刚推出了一个在 ASP.NET Core 1.1、Windows 2008R2、IIS 7.5 上运行的站点,其中包含 2008 和 asp.net 的所有最新补丁。 该网站运行良好,但没有明显的模式。突然间它会开始返回 502 响应:

502 – Web server received an invalid response while acting as a gateway or proxy server

在 IIS 中重新启动站点,或回收站点的应用程序池使站点启动,但问题在几个小时内再次出现。作为解决方法,我们将 IIS 配置为每 90 分钟回收一次应用程序池,这似乎使网站始终保持正常运行。 有关如何解决此问题的任何建议?

谢谢!

【问题讨论】:

  • 您的应用程序池中的目标代码是什么?
  • @PatrickMcvay - 抱歉,我之前没有看到你的问题。应用程序池设置为无托管代码。

标签: asp.net-core iis-7.5


【解决方案1】:

IIS 用这个 502 错误表示 Kestrel(在它后面)返回了一些“错误”的东西。启用(更多)日志记录,并在第一个 502 响应之前检查日志。之前的一些请求会“破坏”您的应用。

【讨论】:

  • AspNetCore 日志记录通过 web.config 中的 stdoutLogEnabled 启用 日志中没有失败的请求。 IIS 开始返回 502 错误之前请求的最后一页不一致/不同。
  • 查找 IIS 用来启动您的应用程序的本地端口号(而不是 5000)(例如 12345)。在服务器中打开它 (localhost:12345) - 你的应用还能运行吗?
  • 我假设您希望我在网站因 502 错误而关闭时执行此操作?这将很难做到,因为这是一个生产站点,并且每小时回收一次内存使其几乎一直运行。我刚才在站点启动时尝试了您的建议,访问 localhost:24525 返回了一个空页面(没有错误)。不知道为什么它没有返回主页......空白页面是你希望我在网站关闭时看到的吗?
  • 您是否有可能手动处理大文件上传或以其他方式执行内存密集型操作,或者有组件泄漏内存?这可能符合随机故障的模式,以及为什么定期回收应用程序池可以让您正常运行。请参阅此问题和链接文章:stackoverflow.com/questions/36437282/… 谈论请求缓冲和内存问题。
  • 本站不上传任何大小的文件。
猜你喜欢
  • 2016-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-11
  • 2017-01-14
  • 2018-10-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多