Azure上的经典ASP网站“由于发生内部服务器错误,无法显示页面。”

问题描述:

我们已经将使用传统asp编写的应用程序迁移到Azure网站(共享),并且一些页面只是出现错误“由于发生了内部服务器错误,无法显示页面”。没有任何细节。这些页面可以在IIS 7下或使用IIS Express下正常工作。如何在Azure网站上他们没有。Azure上的经典ASP网站“由于发生内部服务器错误,无法显示页面。”

正如我已经配置了在Azure上的网站下面的一些其他职位建议:

1)Web服务器日志 - ON
2)详细的错误信息 - ON
3)的Web.config - 的customErrors模式关闭。

<customErrors mode="Off"/> 
<compilation debug="true" targetFramework="4.0"> 

还有日志消息没有提供任何更多的细节什么是错的,只是提供了以下信息:

详细错误信息:

模块IsapiModule
通知ExecuteRequestHandler
处理器ASPClassic
错误代码0x00000000

有关如何在Azure网站上调试经典asp页面问题的任何帮助表示赞赏。谢谢。

+0

您可以设置Windows Azure诊断程序或使用远程桌面并根据以前的SO文章中引用的解决方案导航到内部IP:http://*.com/questions/6324463/how-to-debug-azure -500内部服务器错误 – AardVark71 2013-03-21 08:42:44

+0

为我解决问题[此答案](http://*.com/a/43521722/5996253)我希望可以帮助 – 2017-04-20 14:13:24

  1. 您的问题可能会在浏览器端:请确保IE设置为“显示友好的信息”被关闭
    enter image description here

  2. 此外,在服务器端,你必须有一些设置允许的错误信息被发送到客户端(对不起,我只能访问该设置的IIS的味道...不知道什么是在Azure中):
    enter image description here

+1

网站是在“Azure网站”,它不显示“向浏览器发送错误”选项。另外对于“Azure网站”,似乎没有远程桌面到服务器。所以我不知道如何设置发送错误给浏览器。我在web.config system.webserver第 – VVee 2013-03-21 10:55:14

+3

部分尝试了以下方式,但没有运行:'试试这个:将web.config添加到''部分''。我也会尝试一个自定义的500.100页面 - 他们必须被允许! – 2013-03-21 19:08:00

+0

谢谢G. Stoynev! – VVee 2013-03-21 21:10:54

谢谢G. Stoynev!它在添加自定义错误asp页面后工作!我使用的代码从以下链接创建自定义错误的ASP页

http://support.microsoft.com/kb/224070

另外下面的链接,以及帮助http://www.tacticaltechnique.com/web-development/classic-asp-getlasterror-in-iis7/

现在在我的web.config中的system.webServer部分如下所示:

<system.webServer> 
    <validation validateIntegratedModeConfiguration="false"/> 
    <modules runAllManagedModulesForAllRequests="true"/> 
    <httpErrors> 
    <remove statusCode="500" subStatusCode="100" /> 
    <error statusCode="500" subStatusCode="100" prefixLanguageFilePath="" path="/errors.asp" responseMode="ExecuteURL" /> 
    </httpErrors> 
    </system.webServer> 
+0

感谢分享这个 – 2013-03-22 00:48:10

一(奇数),值得一试,这为我工作:

尝试FTP'ing到您的Azure的网站,并重新命名您的web.config到完全不同的东西。

我将其更名为web.config2 - Azure "The page cannot be displayed because an internal server error has occurred."错误消息消失,我的ASP.Net应用程序再次爆发。

从那里,我重新在web.config从无到有,从我的原始版本中,一片片的拷贝大块它(看看是什么原因导致的问题)

是啊,我知道...这是一个愚蠢的建议,但Azure没有提供有关导致错误的提示,即使在日志记录打开的情况下,这也保存了我的理智!

+1

恩,谢谢你的建议。我有它的工作,后来诊断出问题是相同的文件:) +1谢谢。 – 2015-02-21 08:53:34

+0

我会再次 - 我今天有类似的问题,事实证明某人或某人已修改了web.config,添加了一个无效的MIME类型扩展,导致所有静态内容请求失败。很容易修复,但都植根于网站的错误web.config文件。 – 2016-09-14 00:01:45

我通过打开Azure Web应用程序配置中的日志记录=>诊断日志下的应用程序日志来解决此问题。

然后,您可以在“日志流”窗格中看到错误并进行修复。

在我的情况下以下两行web.config错误:

<add name="ExtensionlessUrlHandler-Integrated-4.0" 
path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" 
preCondition="integratedMode,runtimeVersionv4.0"/> 
<remove name="ExtensionlessUrlHandler-Integrated-4.0"/> 

我删除它们,一切又恢复了。

如果您尝试将您的站点配置为无法访问IIS,例如Azure Web App,则可以在Web.Config中配置经典ASP设置。

<system.webServer> 

你可以把它配置与经典是如何运作的各种事物的

<asp> 

元素。

这影响了我的网站的属性是

**appAllowDebugging="true"** 

虽然这个属性是很好,当你使用Visual Studio开发和安装了刚刚在实时调试花花公子,它搅乱了错误经典的Asp处理。

顺便说一句,带我永远弄清楚我改变了什么。