TL:DR-如何使Azure应用程序网关将5.xx错误从App Service传递到浏览器?当前,应用程序网关会吞下由App Service生成的任何5.xx错误,并传递“ 502-Web服务器在充当网关或代理服务器时收到无效响应”错误。我想看看潜在的错误。而且,我想让Application Gateway忽略该错误,并将所有内容直接从App Service传递到我的浏览器。
我已打开App Service的应用程序日志记录。我可以在LogFiles / DetailedErrors文件夹中看到一些5.xx错误。但是我想我对Kentico抛出5.xx错误时的操作缺乏了解。通常,如果您使用的是普通服务器或本地服务器,则不会看到通用的503页面,因为您的浏览器已重定向到“无效的许可证密钥”页面。
我不知道Kentico会提供哪种内部(黑)魔术来交付此页面,而不是正常的asp.net 503服务不可用页面。但是此页面非常有用,因为它可以让您了解Kentico配置的真正错误。
背景:
Kentico似乎使用了一些5.xx错误来获取信息。例如,许可证检查会引发503错误,而不是有用的200状态,并显示一条消息,提示您需要检查许可证。
我们有一个MVC Kentico 11 MVC网站。它托管多个网站。我们正在尝试建立一个Azure应用程序网关,该网关指向两个App Services,一个MVC,一个用于Kentico管理员。
到目前为止,我已经让Kentico管理员正常工作-多个域都可以通过应用程序网关访问CMSDesk。但是,MVC网站存在问题。我只能获得App Service的默认域。所有其他域都显示502错误。
我认为App Service的“默认”域可以正常工作,因为Application Gateway无法将域正确转发到App Service,但是我不知道如何验证这一点。这只是我的最新理论,而且还很不稳定-如果我删除该应用程序,然后将静态.htm文件放在此处,则可以毫无错误地浏览到它们。
对于应用服务所产生的任何5.xx错误,应用网关都提供了“ 502-Web服务器充当网关或代理服务器时收到无效响应”消息,这实际上隐藏了任何服务的详细信息可能出现的服务器错误问题。例如:Kentico许可证错误会生成一个503,该错误是以下模块“ PageHandlerFactory-Integrated-4.0”的问题,而不是通常在普通服务器上托管Kentico时出现的“无效许可证”屏幕。 / p>
答案 0 :(得分:0)
无效许可证错误将仅针对管理站点而不是MVC站点显示。从来没有研究显示该错误时会发生什么,只是总是走进来并添加我丢失的许可证。如果您想得到完整的错误,我将确保您将MVC中的所有错误记录到Kentico的事件日志中。
在您的Global.asax.cs文件中,您可能可以执行以下操作:
{{1}}
这时您应该能够在管理事件日志中看到错误。
答案 1 :(得分:0)
一旦Application Gateway检测到后端运行不正常,您就会看到502错误。
您可以在Application Gateway中调整运行状况探针,以使探针匹配条件包括代码503。例如,将条件设置为200-503。
完成此操作后,您应该会看到Kentico的503页。