IIS 7.5, 2008rc2,经典asp, 500错误提示:
由于内部服务器错误,页面无法显示。
我需要知道如何配置IIS以获得更详细的错误。 我已经尝试将ASP配置中的所有调试选项设置为true。 但这并没有起作用。有人能帮帮我吗?
IIS 7.5, 2008rc2,经典asp, 500错误提示:
由于内部服务器错误,页面无法显示。
我需要知道如何配置IIS以获得更详细的错误。 我已经尝试将ASP配置中的所有调试选项设置为true。 但这并没有起作用。有人能帮帮我吗?
当前回答
仔细检查您正在测试的asp文件的编码。
例如,如果你在Windows Server Core 2019上创建了如下文件:
echo“<%@ LANGUAGE=Javascript %>”>测试
echo "<%Response.Write("test");%>" >> test.asp . write ("test")
然后test.asp将被编码为Unicode,请求它将产生一个500,没有任何细节。
做一个notepad test.asp,然后点击“另存为…”,选择“ANSI”编码来修复它。
其他回答
在IIS管理的站点主界面双击“ASP”,展开“调试属性”,启用“发送错误到浏览器”,点击“应用”。
在主界面的“错误页面”下选择“500”,然后选择“编辑功能设置”,选择“详细错误”。
注意,相同的步骤适用于IIS 8.0 (Windows Server 2012)。
对我来说,这是许可问题。 打开应用程序文件夹属性->安全选项卡->编辑->添加
IIS appppool \[DefaultAppPool或任何其他appppool](如果使用ApplicationPoolIdentity选项) IUSRS IIS_IUSRS
如果您在服务器上运行浏览器并使用本地ip测试项目的url,则会收到该项目的所有错误,而不会出现一般错误页面(例如500错误页面)。
仔细检查您正在测试的asp文件的编码。
例如,如果你在Windows Server Core 2019上创建了如下文件:
echo“<%@ LANGUAGE=Javascript %>”>测试
echo "<%Response.Write("test");%>" >> test.asp . write ("test")
然后test.asp将被编码为Unicode,请求它将产生一个500,没有任何细节。
做一个notepad test.asp,然后点击“另存为…”,选择“ANSI”编码来修复它。
在网络上。配置下
<system.webServer>
替换(或添加)行
<httpErrors errorMode="Detailed"></httpErrors>
with
<httpErrors existingResponse="PassThrough" errorMode="Detailed"></httpErrors>
这是因为默认情况下IIS7会拦截HTTP状态代码,如4xx和5xx,这些代码是由应用程序生成的。
接下来,在“ASP”部分中启用“发送错误到浏览器”,并在“错误页面/编辑功能设置”中选择“详细错误”。
另外,将网站文件夹的写权限授予IIS_IUSRS内置组。