站点无法访问时的错误页面

Error Page when Site is Unreachable

我们将在服务器中进行 Windows 更新,并希望有一个自定义的错误页面,以避免用户将来报告间歇性错误。有什么想法吗?

您可以在 web.config-

中执行以下代码
<configuration>
  <system.web>
    <customErrors defaultRedirect="GenericError.htm"
                  mode="RemoteOnly">
      <error statusCode="500"
             redirect="InternalError.htm"/>
    </customErrors>
  </system.web>
</configuration>

有关错误处理的更多详细信息,请查看此 url- https://msdn.microsoft.com/en-us/library/bb397417.aspx

@Shirish 显示的自定义错误将起作用。
但如果服务器重启和系统更新时间较长,则该页面将不会显示,因为整个 IIS 和 OS 可能已关闭。所以解决这个问题的唯一方法是在你的网络服务器前面安装某种(反向)代理服务器,它将监控它的健康状况,然后将所有请求故障转移到不同的服务器,或者只是提供一些错误错误页面直到网络服务器重新上线。

例如,如果您在 Azure 上托管,则可以在 Web 应用程序或 VM 前面安装负载均衡器。如果您在同一个可用性集中创建两个服务,则负载平衡器可用。它将在某个指定的时间间隔(例如 5 秒)内监控每项服务的健康状况,然后相应地路由流量。您可以在升级第一个 VM 时打开第二个 VM/WebApp,以降低成本。

在 web.config 文件中将这些代码放入 <system.web></system.web> 并创建 Error 控制器和三个操作 Error500 等以及相应的视图页面。如果 iis returns status 500 那么将显示 Error500 页面。您可以创建自己的错误页面。

<customErrors mode="On" defaultRedirect="Error">
  <error statusCode="500" redirect="~/Error/Error500" />
  <error statusCode="404" redirect="~/Error/Error404" />
  <error statusCode="403" redirect="~/Error/Error403" />
</customErrors>