500 - 没有详细信息的内部服务器错误

500 - Internal server error with no details

客户给了我一个服务器public ip。我可以在本地浏览器中看到默认的 IIS 页面。然后我做了以下步骤

  1. 我在我的文件系统上发布了解决方案 (Asp.Net MVC)。
  2. 已在服务器上复制发布的文件夹。
  3. 在 IIS 中创建了新网站。
  4. 已停止使用端口 80 的默认网站。
  5. 已将端口 80 分配给新创建的网站。
  6. 在浏览器中再次打开 ip 但它给了我 500 - 内部服务器错误。

我确定 web.config 文件中有以下配置

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

还在配置中添加了以下行

<validation validateIntegratedModeConfiguration="false" />

即使在服务器上,它仍然没有显示错误的详细信息。

我将同一个发布文件夹连接到我的本地 IIS,它工作正常。

我错过了什么吗?

500 错误的原因可能很复杂。

所以我们必须先检查几件事。

1.Please 确保 IIS asp.net 功能已安装在客户端服务器端。您可以通过查看 IIS 管理器中的模块和处理程序映射来检查这些配置。

2.Please 发布到客户端的本地文件夹时检查应用程序是否正常工作。

3.Please 确保 IUSR、经过身份验证的用户和应用程序池身份已添加到您文件夹的安全组中。

4.Please检查IIS日志中是否有特殊子状态码或win-32状态码。

5.Please 确保您的 .net 框架和您客户的相同。

6.Please 检查您的应用程序池是否选择了正确的模式和运行时版本。

通过更多信息,我们可能会找出 500 错误的根本原因。