Jac*_*zek 177 asp.net iis error-handling
我正在尝试部署ASP.NET应用程序.我已将该站点部署到IIS,但在使用浏览器访问它时,它显示了以下内容:
服务器错误
500内部服务器错误.
您正在查找的资源存在问题,无法显示.
在摆弄web.config之后,我得到了:
由于发生内部服务器错误,无法显示页面.
如何查看此服务器错误背后的实际问题?
Ari*_*tos 282
首先,您需要启用并查看 Web消息的详细错误,因为这是一般消息,但没有提供有关出于安全原因的实际情况的信息.
有了详细的错误,您可以在此处找到真正的问题.
此外,如果您可以在服务器上运行浏览器,则会获得有关错误的详细信息,因为服务器会识别您是本地的并显示给您.或者,如果您可以使用事件查看器读取服务器的日志,则还会看到错误的详细信息.
<configuration>
<system.web>
<customErrors mode="Off"/>
<compilation debug="true"/>
</system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)
<configuration>
<system.webServer>
<httpErrors errorMode="Detailed" />
<asp scriptErrorSentToBrowser="true"/>
</system.webServer>
<system.web>
<customErrors mode="Off"/>
<compilation debug="true"/>
</system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)
注意:您可以避免Debug = true.您只需关闭一段时间的自定义错误并获取详细的错误页面.
参考:在Go Daddy的帮助文章中启用Windows自定义错误消息.
此外,这可以帮助:如何启用详细的错误消息(从IIS).
Jos*_*ank 23
在这个问题上,我正在拔头发.确保以下条目在根web.config文件中为我修复:
<configuration>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
</system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)
请记住,如果已经存在,则必须将其添加到现有XML元素中.您不能只在文件的末尾添加,因为您不能拥有任何元素的多个副本.
小智 9
在godaddy.ocm共享主机上部署ASP.NET MVC 3.0应用程序时,我终于解决了这个"500内部服务器"错误.
不知何故,引用的DLL文件版本和文件中提到的版本存在差异web.config.
我尝试了各种论坛中提到的所有选项.没有任何帮助,虽然每个人都提出了同样的解决方案,但不知怎的,它在我的场景中不起作用.最后敲了两天头.我决定删除所有DLL文件引用并从项目中删除web.cofig(制作本地副本)并让应用程序抛出错误,然后逐个添加DLL文件,将副本复制到local = true.
添加完所有DLL文件后,我创建了一个新的ASP.NET MVC应用程序,并将新应用程序的web.config复制到我的实际应用程序中.所以我的实际应用程序现在有了一个新的web.config,然后我从我保存的web.config的本地副本中复制了connectionstring和其他引用.
我刚刚编译了应用程序并发布到本地文件夹并将已发布的文件夹发送到goDaddy.
它工作,最后我的问题解决了.
小智 9
对我来说,web.config中的以下代码是罪魁祸首.当我删除它,网站工作正常.
<staticContent>
<mimeMap fileExtension=".mp4" mimeType="video/mp4" />
</staticContent>
Run Code Online (Sandbox Code Playgroud)
小智 7
在我的情况下,我在我的web.config文件中犯了一个错误.应用程序密钥以某种方式放在<appSettings>标记下.但我想知道它为什么不显示配置错误.错误500对于调查问题来说过于通用.
除了其他建议外,请确保existingResponse将httpErrors节点的属性更改为Autofrom Replace,或完全删除该属性。
<httpErrors existingResponse="Replace" />
^^^^^^^ not going to work with this here
Run Code Online (Sandbox Code Playgroud)
小智 5
服务器错误 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>
Run Code Online (Sandbox Code Playgroud)
然后将框架3.5更改为框架4。它显示了我的详细错误。我删除了以下代码:
<httpModules></httpModules>
Run Code Online (Sandbox Code Playgroud)
它解决了我的问题。
对于 IIS 10,除了更改 customErrors=Off 来显示错误内容之外,还有一个额外的步骤需要执行。
<system.web>
<customErrors mode="Off" />
</system.web>
<system.webServer>
<httpErrors existingResponse="PassThrough" errorMode="Detailed"/>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)
Raul 在这个链接中回答了Raul 的关闭 IIS8 自定义错误中的问题
| 归档时间: |
|
| 查看次数: |
445781 次 |
| 最近记录: |