IIS 7.5, 2008rc2,经典asp, 500错误提示:

由于内部服务器错误,页面无法显示。

我需要知道如何配置IIS以获得更详细的错误。 我已经尝试将ASP配置中的所有调试选项设置为true。 但这并没有起作用。有人能帮帮我吗?


当前回答

对我来说,这是许可问题。 打开应用程序文件夹属性->安全选项卡->编辑->添加

IIS appppool \[DefaultAppPool或任何其他appppool](如果使用ApplicationPoolIdentity选项) IUSRS IIS_IUSRS

其他回答

尝试将“existingResponse”httpErrors属性的值设置为“PassThrough”。我的设置为“替换”,导致YSOD不显示。

<httpErrors errorMode="Detailed" existingResponse="PassThrough">

如果您在服务器上运行浏览器并使用本地ip测试项目的url,则会收到该项目的所有错误,而不会出现一般错误页面(例如500错误页面)。

没有人提到的一件事是作为一个非常快速和临时的修复,你可以在该web服务器的本地主机上查看错误。

在网络上。配置下

<system.webServer>

替换(或添加)行

<httpErrors errorMode="Detailed"></httpErrors>

with

<httpErrors existingResponse="PassThrough" errorMode="Detailed"></httpErrors>

这是因为默认情况下IIS7会拦截HTTP状态代码,如4xx和5xx,这些代码是由应用程序生成的。

接下来,在“ASP”部分中启用“发送错误到浏览器”,并在“错误页面/编辑功能设置”中选择“详细错误”。

另外,将网站文件夹的写权限授予IIS_IUSRS内置组。

如果你在远程服务器上,你可以配置你的网页。配置文件如下:

<configuration>
<system.webServer>
    <httpErrors errorMode="Detailed" />
    <asp scriptErrorSentToBrowser="true"/>
</system.webServer>
<system.web>
    <customErrors mode="Off"/>
    <compilation debug="true"/>
</system.web>