http 500 内部服务器错误,,两种浏览器显示的错误报告,请求帮组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了http 500 内部服务器错误,,两种浏览器显示的错误报告,请求帮组相关的知识,希望对你有一定的参考价值。
<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>500 Internal Server Error</title>
</head><body>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error or
misconfiguration and was unable to complete
your request.</p>
<p>Please contact the server administrator,
[no address given] and inform them of the time the error occurred,
and anything you might have done that may have
caused the error.</p>
<p>More information about this error may be available
in the server error log.</p>
<p>Additionally, a 500 Internal Server Error
error was encountered while trying to use an ErrorDocument to handle the request.</p>
</body></html>
因为系统用了时间太长了,所以重装了一下.重装完成后,先装了瑞星再装IIS的.但是等我启动IIS时长时间没有响应,最后才提示“服务没有及时响应启动或控制请求”.
我的系统环境是:Windowsxp sp2, IIS5.1
当然以为是IIS没有装好,拿出盘删除再装IIS,还是老问题.
于是当然是Google了.找了好多解决方法都没有用.
难道这些解决方案对我失效,我查看了一下计算机的服务项里,发现"World Wide Web Publishing"关闭了,启动也提示启动失败。看来是里程无法启动,这时候当然看看防火墙或是杀毒软件有没有相关的进程,"World Wide Web Publishing"的可执行文件是"inetinfo.exe",在瑞星防火墙访问规则里找到"inetinfo.exe"访问规则设为全部放行.
再次启动"World Wide Web Publishing",然后再启动IIS,一切OK.
网上提供的IIS解决方案不一样,因为情况跟不一样.我把我搜索到的解决方法也提供一下.
Quote
1. 系统环境:Windowsxp+sp2,II5.0
故障现象:上午把IIS服务停止以后,程序长时间没响应,通过任务管理器关闭,启动时提示“服务没有及时响应启动或控制请求”,重启计算机未能解决。
解决办法:在Internet信息服务下有本地计算机(计算机机名),单击名键,选择断开,提示确实要断开本地计算机(计算机机名)吗?选择确定。
右键单击Internet,选择连接,计算机名填本机名称,用户名填本机管理员帐号(Administrator),确定。
Quote
2. 昨天就发现了公司我用这台电脑的IIS启动不了,今天早上试着解决它,才发现问题并不简单。找呀找呀找呀,发现"WorldWideWebPublishing"关闭了,启动也提示启动失败。静下心来,再看看其它关闭了的服务,有一项Eventlog把它启动了,再启动WorldWideWebPublishing成功。问题就在这里。
虽然“WorldWideWebPublishing”服务和SMTP服务的依存关系列表中没有提到“eventlog”服务,但“eventlog”服务不启动的话,就会出现上述问题。启动“eventlog”服务,然后启动“WorldWideWebPublishing”服务,上述问题消失。
Quote
3. IIS元数据库可能坏了。。测试一下。
Try to enumerate metabase:
1. Open a command prompt and change to the C:\Inetpub\Adminscripts folder.
2. At the command line, type "cscript adsutil.vbs enum " (without the
quotation marks).
If this command is successful, it enumerates the settings in the
metabase.
If the command is not successful, you receive the -2146893792
(0x80090020) error code.
假如有备份,把数据回复。
如果没有,参考
How to Manually Restore the Metabase When No Proper Backup Exists or When
the MMC Does Not Start
HOW TO: Download, Install, and Remove the IIS MetaEdit 2.2 Utility
Quote
4. 解决IIS不能启动,提示服务器没有及时响应启动或控制请求!
问题现象:
1、在IIS中站点显示停止,点击开启IIS不能启动,提示:服务器没有及时响应启动或控制请求 点击重新启动IIS提示:服务器没有及时响应启动或控制请求!
2、World Wide Web Publishing Services不能启动,提示“错误1721,资源不足,无法启动”
解决方法:
1、刚刚我也出现了那个问题,弄了一上午现在解决了,我是查出了World Wide Web Publishing Service服务没有启动,也启动不了,按照他的依存关系,把其他的服务启动了就可以了,我启动的是HTTP SSL,然后World Wide Web Publishing Service就可以用了,iis也可以了
2、有一次站点访问失败,IIS服务无法启动,我的解决思路是这样的:
先打开Administrative Tools --> Service,发现World Wide Web Publishing Service停止了。于是试图启动该服务,结果报错。
于是查看World Wide Web Publishing Services所需要依赖的服务(Dependencies),看到是IIS Admin Service。进而发现IIS Admin Service也无法启动,再查IIS Admin Service的Dependencies,查的结果是Protected Storage和RPC(Remote Procedure Call),于是启动RPC,接着顺利启动IIS Admin Service,接着启动World Wide Web Publishing Services,于是IIS恢复正常。
自己尝试根据这几种解决方法的思路肯定还有其它原因不同解决方法的.追问
第一我用的是虚拟主机,L系统没有IIS的, 第二我的是插件不能还以 ,整个源程序是可以用
参考技术A 初步处理:试着进入IISHELP网页,也再现HTTP 500 错误,无法判断故障原因,搜索网上相关内容,找到一篇关于IIS下不支持ASP的解决方案文章;
经研究分析,判断故障现象基本类似,原因分析为:主要是由于IWAM帐号IWAM_Myserver的密码错误造
成了HTTP 500内部错误。
相应的解决办法为:统一active directory、IIS metabase数据库和COM+应用程序中的密码。相应操
作该文章上有详细介绍。
查看日志文件,与文章上所描述的现象并不完全一致,本计算机并未有域的设置。
系统日志具体描述如下:
系统日志中事件:
事件1:
事件类型: 错误
事件来源: DCOM
事件种类: 无
事件 ID: 10010
日期: 2004-11-17
事件: 17:23:04
用户: NT AUTHORITY\SYSTEM
计算机: ZY-BGL-FWQ
描述:
服务器 3D14228D-FBE1-11D0-995D-00C04FD919C1 没有在限定的时间内用 DCOM 注册。
————————————————————————
事件2:
事件类型: 警告
事件来源: W3SVC
事件种类: 无
事件 ID: 36
日期: 2004-11-17
事件: 17:23:04
用户: N/A
计算机: ZY-BGL-FWQ
描述:
服务器未能转入应用程序 '/LM/W3SVC/1/ROOT/IISHELP'。错误是 '服务器运行失败
'。
若要获取关于此消息的更多的信息,请访问 Microsoft 联机支持站点: http://www.microsoft.com/contentredirect.asp 。
—————————————————————————
在应用程序日志中也有两个事件:
事件1:
事件类型: 错误
事件来源: COM+
事件种类: 管理
事件 ID: 4205
日期: 2004-11-17
事件: 17:23:04
用户: N/A
计算机: ZY-BGL-FWQ
描述:
由于在下列系统 API 错误,COM+ 服务无法初始化。它通常是由本地计算机的系统资源存储问题引起的。
CryptAcquireContext
进程名称: dllhost.exe
该错误的严重性已导致进程终止。
错误代码= 0x80090017 : 提供程序类型未被定义。
COM+ 服务内部信息:
文件: .\security.cpp, 行: 617
—————————————————————————
事件2:
事件类型: 错误
事件来源: COM+
事件种类: SVC
事件 ID: 4097
日期: 2004-11-17
事件: 17:23:04
用户: N/A
计算机: ZY-BGL-FWQ
描述:
运行时环境在其内部状态检测到不一致。请向 Microsoft 产品支持服务部门报告此错误。*** Error in __FILE__(926): Application image dump failed.
而并未有文章上所描述的“用户名未知或密码错误”之类的信息日志;
但基本判断也属于该类型故障。
按照文章上所写操作一步一步执行,但发现并未奏效,不知问题出在何处。
按照最后提示:把IIS中的“应用程序保护”设置为“低”,再重置IIS,新的问题又出现了,站点上的某些ASP能够显示,但某些ASP页面又不能显示,而ASP聊天室的页面能打开,但显示为“打开数据库失败或错误”; 但若把IIS中的“应用程序保护”设置为“中”,则任何ASP页面都无法打开; 无语,实在不行,采取文章上所述最后一个办法:重装IIS,步骤如下:先卸载,再打SP3(我打的是SP4),再重装。 重新配置启动IIS,发觉故障现象依旧如故。
经高人指点,问题根源并非如此,经仔细询问情况,发现曾经删除过SAM(这一现象前面一直没能引起注意)SAM文件是保存用户密码的数据库 文件,删除后,所有的用户信息就会丢失,而相应的组信息也会随之丢失,虽然重新登录过系统,系统已经重新建立了SAM文件,也重新安装了 IIS,IWAM帐号也已经重新建立,但是,原用户组中的特殊信息却没有被恢复。从这里着手。检查“开始”->“设置”->“控制面板”->“管理 工具”->“组件服务”中,“控制台根目录”->“组件服务”->“计算机”->“我的电脑”->“COM+应用程序”中,有一个IIS Out-Of-Process Pooled Applications该应用程序的ID号即为3D14228D-FBE1-11D0-995D-00C04FD919C1,很多系统报错找不到应用程序3D14228D-FBE1-11D0-995D-00 C04FD919C1之类的错误,就是因为该应用程序未能启动,打开该应用程序的属性,检查标识却为IWAM用户,右键启动,报错。改为管理员后, 可正常启动。把IWAM加入本地管理员组中,也可正常启动。确定是因为IWAM用户无权访问该应用程序所致。
提出具体解决办法如下:
1、修改IWAM_Myserver帐号密码,在“开始”->“设置”->“控制面板”->“管理工具”->“计算机管理”中,“系统工具”->“本地用户和 组”->“用户”里面,一个IWAM_Myserver(Myserver为本地计算机名)的帐号内,右键更改密码,更改为一个自定义的密码即可,我们这里假 设为“000000”;
2、修改IIS内部IWAM_Myserver帐号密码,在c:\inetpub\adminscripts\目录下(IIS安装默认目录),输入:c:\inetpub\adminscripts>
cscript adsutil.vbs set w3svc/wamuserpass "000000"
(此处“0”表示用户自定义的密码)
修改成功后,系统有如下提示:
wamuserpass: (string) "******"
3、同步com+应用程序所用的IWAM_Myserver的密码,原技术文章上所叙述的办法有两种,我这里采用的为第二种,即“使用IWAM帐号同步脚本synciwam.vbs”
也就是在c:\inetpub\adminscripts目录下(默认目录)输入:
c:\inetpub\adminscripts> cscript synciwam.vbs -v
前面都很顺利,但在“开始”->“设置”->“控制面板”->“管理工具”->“组件服务”中,“控制台根目录”->“组件服务”->“计算机”- >“我的电脑”->“COM+应用程序”中,右键启动IIS Out-Of-Process Pooled Applications,发现仍然报错,没办法重启IIS,发现问题现象 依旧如故,检查上面第三个步骤,输入cscript synciwam.vbs -v命令后,返回的脚本执行情况其中最后一段有一个Error的提示。一段英文,具 体文字描述未能保存下来,意思理解为:IIS的原数据库拒绝访问。
4、万般无奈,删除IIS的组件包,重新建立之,仍然无效。
至此又出现问题了。 查看应用程序日志和系统日志,发现错误提示事件ID号依旧为:10010、36、4205 上述的三个步骤中,前面两步应该都没有问题,最后一步好象有点问题。 根据事件ID号,查找相关资料,找出解决办法如下:
在“开始”->“设置”->“控制面板”->“管理工具”->“计算机管理”中,“系统工具”->“本地用户和组”->“用户”里面,确认IWAM_My server用户只在GUEST组内,再在“本地用户和组”->“组”里面,右键点击Users组属性,添加进NT AUTHORITY\Authenticated Users和NT AUTHORITY\Interactive两个用户成员,确定。
重复第三个步骤,即在IIS安装默认目录下输入:c:\inetpub\adminscripts> cscript synciwam.vbs -v
根据返回的脚本执行情况进行查看,最后那一段的Error已经没有了,将COM+程序的用户改回为IWAM用户
,重新启动IIS Out-Of-Process
Pooled Applications应用程序,没有再报错了,再重启IIS,检查所有WEB站点服务,故障现象解除!
也就是说到了这一步IIS下面的ASP程序才正式恢复重新启动。
至此,故障现象全部排除!
因此,以下几点需要注意的:
1、事件日志的空间设置稍微放大一些,默认才512K,根据硬盘空间,适当放大一些,避免出现日志文件已满的情况;
2、不要随便轻易清空事件日志中的事件记录,很多故障现象需要从这个里面下手找原因;
3、所有返回的系统提示信息一定要注意仔细查看;
4、IIS中的应用程序保护应为中或高,如为低,则所有ASP页面均以本地系统权限运行,安全性存在问题。
5、COM+程序的用户权限和用户启动权限很重要,应注意检查。
6、系统默认组有时有重要作用,不能轻易删除或修改。
7、系统重要文件(如SAM)不可轻易删除,应尽可能采取妥善的解决方法。如使用外部程序修改注册表或SAM表信息以获得管理员权限。而不要删除该文件。追问
我用的虚拟主机,操作系统是Linux主机没有IIS
本回答被提问者采纳部署网站:500 - 内部服务器错误
【中文标题】部署网站:500 - 内部服务器错误【英文标题】:Deploying website: 500 - Internal server error 【发布时间】:2011-07-20 03:12:29 【问题描述】:我正在尝试部署一个 ASP.NET 应用程序。我已将该站点部署到 IIS,但是当使用浏览器访问它时,它会显示:
服务器错误
500 - 内部服务器错误。
你要找的资源有问题,无法显示。
在摆弄了 web.config 之后,我得到了:
由于发生内部服务器错误,页面无法显示。
如何查看此服务器错误背后的实际问题?
【问题讨论】:
确保在目录中为 MVC 应用程序设置了通配符映射... 【参考方案1】:首先,您需要启用并查看网络消息的详细错误,因为出于安全原因,这是一条一般性消息,并未提供有关实际情况的信息。
有了详细的错误,你可以在这里找到真正的问题。
此外,如果您可以在服务器上运行浏览器,您会获得有关错误的详细信息,因为服务器会识别出您是本地人并将其显示给您。 或者,如果您可以使用事件查看器阅读服务器的日志,您还会看到错误的详细信息。
开启IIS 6
<configuration>
<system.web>
<customErrors mode="Off"/>
<compilation debug="true"/>
</system.web>
</configuration>
在 IIS 7 上
<configuration>
<system.webServer>
<httpErrors errorMode="Detailed" />
<asp scriptErrorSentToBrowser="true"/>
</system.webServer>
<system.web>
<customErrors mode="Off"/>
<compilation debug="true"/>
</system.web>
</configuration>
注意:可以避免Debug=true。只需要关闭自定义错误片刻,即可得到详细的错误页面。
参考:Enabling Windows custom error messaging在Go Daddy's帮助文章中。
另外,这可以提供帮助:How to enable the detailed error messages(来自 IIS)。
【讨论】:
感谢您的帖子!为我做的部分是:run the browser on the server
为我工作.. 谢谢兄弟
@Learning 是的 - 您只在短时间内启用详细错误,以便能够找到您的一些错误并使您的应用程序运行 - 然后您将其关闭
谢谢,从 IIS 启用详细的错误消息很有帮助。【参考方案2】:
我在这个问题上大发雷霆。确保以下条目在根 web.config
文件中为我修复了它:
<configuration>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
</system.webServer>
</configuration>
请记住,如果它们已经存在,您必须将其添加到现有的 XML 元素中。您不能只在文件末尾添加,因为您不能拥有任何元素的多个副本。
【讨论】:
【参考方案3】:对我来说,web.config 中的以下代码是罪魁祸首。当我删除它时,网站运行良好。
<staticContent>
<mimeMap fileExtension=".mp4" mimeType="video/mp4" />
</staticContent>
【讨论】:
谢谢 .. 为我工作,但显示视频需要 mimeMap 吗? 这个“修复”是针对一个非常具体的问题,OP 要求一个一般性的答案,这不包括【参考方案4】:在 godaddy.ocm 共享主机上部署 ASP.NET MVC 3.0 应用程序时,我终于解决了这个“500 Internal server”错误。
在文件web.config
中引用的DLL文件的版本和提到的版本不知何故存在差异。
我尝试了各种论坛中提到的所有选项。没有任何帮助,尽管每个人都提出了相同的修复方法,但不知何故,它在我的场景中不起作用。终于在敲了我的头两天之后。 我决定从项目中删除所有 DLL 文件引用并删除 web.cofig(制作本地副本)并让应用程序抛出错误,然后将 DLL 文件一一添加到 local=true。
添加完所有 DLL 文件后,我创建了一个新的 ASP.NET MVC 应用程序并将新应用程序的 web.config 复制到我的实际应用程序中。 所以我的实际应用程序现在有了一个新的 web.config,然后我从我保存的 web.config 的本地副本中复制了连接字符串和其他引用。
我刚刚编译了应用程序并发布到本地文件夹 并将发布的文件夹 FTP 到 goDaddy。
成功了,我的问题终于解决了。
【讨论】:
我的错误解决了:***.com/questions/11359957/… 还必须安装 Elmah【参考方案5】:就我而言,我在web.config
文件中输入了一个错误。应用程序密钥不知何故被放在 标记下。但我想知道为什么它不显示配置错误。错误 500 过于笼统,无法调查问题。
【讨论】:
这里也一样。 web.config 被错误地复制到子目录并导致出现错误,尽管我将“显示详细错误”设置为 true。【参考方案6】:我第一次尝试发布然后运行一个仅提供 HTML 的非常简单的网站,结果显示“由于发生内部服务器错误,该页面无法显示。”
问题:我在 Visual Studio 中将站点设置为 .NET 3.5(右键单击网站项目 -> 属性页 -> 构建),但将 Azure 中的网站配置为 .NET 4.0。哎呀!我在 Azure 中将其更改为 3.5,并且可以正常工作。
【讨论】:
【参考方案7】:除了其他建议之外,请务必将 httpErrors
节点的 existingResponse
属性从 Replace
更改为 Auto
,或完全删除该属性。
<httpErrors existingResponse="Replace" />
^^^^^^^ not going to work with this here
【讨论】:
【参考方案8】:服务器错误 500 - 内部服务器错误。 您要查找的资源有问题,无法显示。老爹。主机 - 网络 - 经济 - Windows Plesk
就我而言,我替换了这段代码:
<configuration>
<system.webServer>
<httpErrors errorMode="Detailed" />
<asp scriptErrorSentToBrowser="true"/>
</system.webServer>
<system.web>
<customErrors mode="Off"/>
<compilation debug="true" targetFramework="4.0"/>
</system.web>
</configuration>
然后将框架 3.5 更改为框架 4。它显示了我的详细错误。我删除代码:
<httpModules></httpModules>
它解决了我的问题。
【讨论】:
我在阅读了其他提示后添加了<compilation debug="true"
,但添加到 <compilation targetFramework=
的单独而不是合并行中,感谢您帮助我发现这一点。【参考方案9】:
如果物理主目录的权限不足(即 IIS_IUSRS 没有访问权限),IIS 还会报告状态代码 500,而没有任何事件日志提示。
【讨论】:
【参考方案10】:对于 IIS 10 除了更改 customErrors=Off 以显示错误内容之外,还有一个额外的步骤要做。
<system.web>
<customErrors mode="Off" />
</system.web>
<system.webServer>
<httpErrors existingResponse="PassThrough" errorMode="Detailed"/>
</system.webServer>
Raul 在此链接中回答了问题Turn off IIS8 custom errors by Raul
【讨论】:
这个解决方案是 IIS 10.0.14393.0 所需要的。【参考方案11】:可能您的 web.config 文件有误或缺少某些标记。我使用.NET 4 的正确配置标签解决了我的问题。
<system.web>
<compilation debug="true" strict="false" explicit="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Deployment, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>
</compilation>
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">
<namespaces>
<clear/>
<add namespace="System"/>
<add namespace="System.Collections"/>
<add namespace="System.Collections.Specialized"/>
<add namespace="System.Configuration"/>
<add namespace="System.Text"/>
<add namespace="System.Text.RegularExpressions"/>
<add namespace="System.Web"/>
<add namespace="System.Web.Caching"/>
<add namespace="System.Web.SessionState"/>
<add namespace="System.Web.Security"/>
<add namespace="System.Web.Profile"/>
<add namespace="System.Web.UI"/>
<add namespace="System.Web.UI.WebControls"/>
<add namespace="System.Web.UI.WebControls.WebParts"/>
<add namespace="System.Web.UI.HtmlControls"/>
</namespaces>
</pages>
<authentication mode="None"/>
</system.web>
【讨论】:
【参考方案12】:我意识到您服务器中文件和文件夹的权限也很重要。我从 linux 操作系统上传了我的文件,通常权限是有限的读写。所以上传的时候,权限还是和本地机器一样。
我遇到了同样的错误,我只是更改了我上传的文件夹的权限,错误就消失了。
希望对某人有所帮助。
【讨论】:
这个答案不是和this answer from July 2014基本一样吗?【参考方案13】:500 内部错误 Windows 主机错误 Godaddy 托管问题
我一直面临同样的问题,但现在我的问题已经解决了。始终在此托管中使用它。
我还建议大家对 web.config 文件进行任何更改。请一一进行并在实时域上进行测试,以便您找到确切的问题或您的托管服务提供商不允许您使用的功能。
<?xml version="1.0"?>
<configuration>
<system.web>
<trust level="Medium"/>
<compilation debug="true" targetFramework="4.5">
<assemblies>
<add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>
</compilation>
<httpRuntime targetFramework="4.5" />
<sessionState mode="InProc" cookieless="false" timeout="90" />
<authentication mode="Forms">
<forms loginUrl="default.aspx"
defaultUrl="default.aspx"
protection="All"
cookieless="UseCookies"
slidingExpiration="false"
timeout="30"
name="aeon.corpusjuris.in" />
</authentication>
<customErrors
mode="Off"
defaultRedirect="errorpage.aspx">
<error statusCode="403" redirect="errorpage.aspx"/>
<error statusCode="404" redirect="errorpage.aspx"/>
</customErrors>
<!-- <httpModules>
<add name="HTTPCaching" type="HTTPCaching"/>
</httpModules>
-->
</system.web>
<runtime>
<performanceScenario value="HighDensityWebHosting" />
</runtime>
<system.webServer>
<!-- <modules runAllManagedModulesForAllRequests="true">
<add name="HTTPCaching" type="HTTPCaching"/>
</modules>
-->
<defaultDocument>
<files>
<clear />
<add value="default.aspx" />
</files>
</defaultDocument>
<httpErrors errorMode="Detailed" />
<asp scriptErrorSentToBrowser="true"/>
<staticContent>
<clientCache cacheControlCustom="public"
cacheControlMaxAge="60:00:00"
cacheControlMode="UseMaxAge" />
</staticContent>
</system.webServer>
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="90000000">
</jsonSerialization>
</webServices>
</scripting>
</system.web.extensions>
</configuration>
【讨论】:
在我的情况下,错误是由 web.config 中的如果您使用的是自定义 HttpHandler(即实现 IHttpModule
),请确保您正在检查对其 Error
方法的调用。
您可以让您的处理程序在本地调试期间抛出实际的HttpExceptions
(它有一个有用的Message
属性),如下所示:
public void Error(object sender, EventArgs e)
if (!HttpContext.Current.Request.IsLocal)
return;
var ex = ((HttpApplication)sender).Server.GetLastError();
if (ex.GetType() == typeof(HttpException))
throw ex;
还要确保检查异常的InnerException
。
【讨论】:
【参考方案15】:500 内部服务器错误可能由多种原因引起。第一个原因可能是 web.config 文件没有正确创建,这意味着您错过了 web.config 文件中的一些标签。其次,此错误可能是由于某些代码问题造成的。要检查 Web 应用程序的哪个组件导致此错误,您可以检查 web.config 文件中的应用程序设置。 500内部服务器错误的解决和跟踪的细节图如下:
【讨论】:
【参考方案16】:确保您的帐户使用 IIS 7。有关详细信息,请参阅自定义 Windows 主机帐户上的 IIS 设置。 按照在 Windows IIS 7 主机帐户上更改管道模式中的说明进行操作。选择集成管道模式。 在您的项目引用部分,将以下程序集的 Copy Local 设置为 True:
System.Web.Abstractions
System.Web.Helpers
System.Web.Routing
System.Web.Mvc
System.Web.WebPages
将以下程序集添加到您的项目中,然后将 Copy Local 设置为 True:
Microsoft.Web.Infrastructure
System.Web.Razor
System.Web.WebPages.Deployment
System.Web.WebPages.Razor
Publish your application.
【讨论】:
【参考方案17】:有时,原因可能是您的 .dll 程序集之一未在服务器上正确注册。
例如,您可以在安装了 Office 的本地计算机上成功运行 C# Excel Web 应用程序,但在服务器部署时收到 500 错误,因为服务器上没有安装 Office 套件,因此您会收到服务器错误.
【讨论】:
【参考方案18】:对于那些有这种可能性的人(VPS 托管而不是网络托管):
通过远程桌面连接到您的托管服务器。从远程桌面打开 Web 浏览器,您将看到错误的详细说明。
您无需修改 web.config 或向其他任何人公开任何详细信息。
【讨论】:
【参考方案19】:如果您使用的是 IIS 8.5,则可能需要将 ApplicationPool ID 设置从 ApplicationPoolId 更改为 NetworkService
右键单击有问题的应用程序池,单击“高级设置”,然后向下滚动到 ID - 它可能会设置为 ApplicationPoolIdentity。点击按钮 (..) 并从下拉列表中选择 NetworkService。
如果它是 .NET 2.0 应用程序,请确保您没有在应用程序池中引用 4.0 框架。
【讨论】:
【参考方案20】:在更改web.config
文件之前,我会检查您使用的.NET Framework
版本与GoDaddy
设置(ASP. Plesk panel
中的网络设置)。这应该会自动将您的 web.config 文件更改为正确的框架。
另请注意,目前(2016 年 1 月),GoDaddy
与 ASP.Net 3.5
和 4.5.2
一起使用。要将 4.5.2
与 Visual Studio 一起使用,它必须是 2012
或更新版本,如果不是 2015,则必须下载并安装 .NET Framework 4.5.2 开发人员包。
如果仍然无法正常工作,那么是的,您的下一步应该是启用详细的错误报告,以便您可以对其进行调试。
【讨论】:
【参考方案21】:我最近遇到了同样的问题,服务器上的磁盘空间已满。清除一些空间已解决问题。
【讨论】:
【参考方案22】:尝试在调试模式下编译(在 Visual Studio 中)。如果您处于发布模式,很多 URL Rewrite 错误将不可用。
Image shows the Debug selection combobox in Visual Studio
【讨论】:
以上是关于http 500 内部服务器错误,,两种浏览器显示的错误报告,请求帮组的主要内容,如果未能解决你的问题,请参考以下文章
HTTP 错误 500.100 - 内部服务器错误 - ASP 错误 Internet 信息服务
500 – 内部服务器错误。 您查找的资源存在问题,因而无法显示。