一般来说,我对设置web服务器真的很陌生。我已经在Windows 8上安装了iis8,我正在尝试在本地建立一个小网站,同时进行一些开发。在IIS中,我选择添加站点,给出一个名称,指向我有index.html文件的位置(我尝试过不同的位置,最新的位置在c:\inetpub\wwwroot\test -文件夹中),否则使用所有默认设置。但是,当我尝试浏览到localhost时,我得到

HTTP错误503。业务不可用。

我已经验证了池已经启动,并且在目标文件夹上赋予了IIS_IUSRS完全控制

我到处搜索,但没有找到任何解决我的问题的东西,在EventLog或C:\Windows\System32\LogFiles\HTTPERR文件夹中没有任何有用的东西

有人能告诉我怎么了吗?


当前回答

如果最近安装或更新了。net框架和/或ASP.NET,也会发生这种情况。如果你不确定最近发生了什么,如果你所有的应用都使用ASP。NET版本4,您可以在管理员模式下在命令提示符中运行以下命令来尝试重置它们。

cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319
aspnet_regiis -i

这确保安装或重新安装ASP。asp.net 4和更新现有的应用程序使用ASP。NET 4版本的应用程序池。它更新IIS元数据库中的IIS经典模式和集成模式处理程序以及脚本映射。它还重新创建了ASP。asp.net v4.0和ASP。NET v4.0经典应用程序池,并将.NET framework 4设置为DefaultAppPool和经典。NET应用程序池。

其他回答

我在一个使用Kentico作为卫星CMS的. net MVC应用程序中得到了这个错误。问题是,我的应用程序所在的URL需要一个适当的许可。它基本上停止了应用程序,导致IIS只返回这个503 -服务不可用的消息。我最终在Kentico的事件日志中找到了错误细节(作为警告)。您可以在Kentico的客户端门户网站(https://client.kentico.com/)中创建新的许可证或查找许可证详细信息。

对我来说,解决方案是将启用32位应用程序更改为False


没有一个答案对我有用。所以我想分享我在几个小时的研究后的发现。

一直在事件日志中看到这条消息:模块DLL C:\Windows\system32\RpcProxy\RpcProxy.dll加载失败。数据就是错误。原来dll是64位的,不能加载到32位进程中。

您的域可能要求用于运行appool的帐户具有批量登录权限。在这种情况下,您将看到相同的错误消息。您可以通过查看事件查看器中的系统事件来判断是否存在这种情况。应该有一个事件,说明应用程序池使用的帐户有“错误的密码或没有批量登录权限”。

这就是为什么开发人员经常在他们的开发机器上使用IIS Express,因为它传递了批量登录权限问题。

我将端口从80更改为8080,这就是为什么出现这个错误。我在搜索栏中写入localhost/,然后出现这个错误。我的问题是通过在搜索中写入localhost:8080/然后打开本地主机来解决的。

或者,如果当前的解决方案都不起作用,请在您的网站目录中查找一个名为app_offline.htm的文件。这基本上告诉IIS您的站点不可用,并显示此页面。

要修复它,要么删除它,要么重命名为app_offline.htm.bak。

在我的例子中,我在向一位同事演示如何使用它来暂时阻止网站流量时添加了它,然后忘记了我在我的盒子上做了这个操作。叹息。