win2000下iis无法访问asp网页 未能启动 aspnet_wp.exe
本日掩护一个windows2000的iis做事器,网页无法访问,系统运用程序日志提示:
①、未能启动 aspnet_wp.exe,缘故原由是配置文件的 processModel 节中供应的用户名和/或密码无效。
②、未能启动 aspnet_wp.exe。失落败的 HRESULT:80004005
找了很多缘故原由,都说是域做事器的donnet下的用户权限配置问题,引用详见下面,但是我的做事器不在域环境中,纳闷了良久。
引用:
Win2000域做事器 IIS 无法利用asp.net程序的办理方法
把一台做事器升级为域掌握器后,安装了ASP.NET,配置完IIS后,创造无法运行.ASPX文件,每次运行都见告我做事器内部缺点,同时会在系统运用程序日志里加上以下2个缺点
未能启动 aspnet_wp.exe,缘故原由是配置文件的 processModel 节中供应的用户名和/或密码无效。
未能启动 aspnet_wp.exe。失落败的 HRESULT:80004005
.ASP文件运行正常,请那位高手指示一下,到底是什么问题?
办理的办法有几种,
个中最快但不屈安的一种是:
变动machine.config文件,
它位于C:\WINNT\Microsoft.NET\ Framework\v1.0.3705(asp.net 1.0是这样,如果你的版本是1.1的,文件夹名回不同)\CONFIG\,
将里面一个部件<processModel>中的 username的属性设置为SYSTEM,正由于它原来默认的设置为machine,
以是访问的asp.net的用户名为aspnet,而这个帐号为本地帐号,而我们登录的帐号是域掌握器的帐号,不是本地机器的帐号,
这样导致aspnet_wp.exe找不到一个本地的localmachinename \aspnet帐号而不能启动.
这种方法我实验过,验证上述情形.但它很不屈安,但你发布asp.net网页时,浏览的用户在你的域中是属于system 属性,
这样会带来安全隐患.最好的办法便是,也是微软推举的.在你的域中添加一个aspnet帐号,设置适当的权限,而不去变动 machine.config文件.
办理方案
要办理此问题,请利用下列方法之一:
?创建具有精确权限的弱帐户,然后配置 Machine.config 文件的 <processModel> 部分以利用该帐户。
?在 Machine.config 文件的 <processModel> 部分,将 userName 属性设置为 SYSTEM。
?配置 Machine.config 文件的 <processModel> 部分以利用管理员帐户。
把稳:在 ASP.NET 1.1 中,ASPNET 的进程标识为 IWAM_MachineName,以是不存在此问题。
把稳:如果许可 ASP.NET 运用程序作为 SYSTEM 或管理员帐户运行,将带来严重的安全问题。如果利用个中的任一种替代方法,在Aspnet_wp.exe 进程中运行的代码都将有权访问域掌握器和域设置。从 Aspnet_wp.exe 进程启动的可实行文件在相同的高下文中运行,它们也有权访问域掌握器。
因此,Microsoft 建议利用第一种替代方法。若要利用第一种替代方法,请按照下列步骤操作: 1. 在打算机上创建名为 ASPUSER 的用户帐户,然后将此帐户添加到用户组中。
把稳:如果变动了 .NET Framework 创建的 ASPNET 帐户的密码,也可以利用该帐户。您必须知道此帐户的密码,由于须要在后面的步骤中将该密码添加到 <processModel> 部分。
2. 付与 ASPUSER 或 ASPNET 帐户“作为批处理作业登录”用户权限。确保此变动涌如今“本地安全策略”设置中。
把稳:若要向此帐户付与“作为批处理作业登录”用户权限,可能必须在以下每一个安全策略中都付与此用户权限(从掌握面板/管理工具开始操作):
?域掌握器安全策略
?域安全策略
?本地安全策略
把稳:您可能必须重新启动做事器以使这些变动生效。
3. 确保 ASPUSER 或 ASPNET 帐户有权访问启动 Aspnet_wp.exe 进程和为 ASP.NET 页供应做事所必需的全部目录和文件。有关必须付与此帐户何种权限的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
317012 INFO:ASP.NET 中的进程和要求标识
4. 打开 Machine.config 文件。该文件的路径是:%Systemroot%\Microsoft.NET\Framework\v1.0.3705\CONFIG。
5. 在 Machine.config 文件的 <processModel> 部分,将 userName 和 password 属性变动为您在第一步中创建的帐户的名称和密码。例如:
userName=\"大众DomainName\ASPUSER\"大众 password=\"大众ASPUSERpassword\公众
6. 保存对 Machine.config 文件所做的变动。
弄了良久一贯弗成,后来终于创造系统中iuse_oaserver(oaserver是做事器的打算机名)用户名被改成了iuse_server,很多用户都没掉了或者被改名了,可能是原来中毒的缘故,我添加了IUSE_OASERVER,添加了dotnet1.1安装目录下的权限等,网页可以访问了。紧张有以下操作:
①、aspnet_regiis -i (重新安装ASP.NET 组件);
②、给donnet1.1 安装目录C:\WINNT\Microsoft.NET\Framework\v1.1.4322的安全属性里添加iuse_oaserver读取的权限;
③、重新启动一下IIS 或者在\"大众运行\公众中输入:iisreset;
④、激活2个帐户 ASPNET、IUSR_machine(\"大众machine\"大众为打算机名称),不要设置密码,确认在IIS的安全设置(匿名访问)里面找到\"大众IUSR_machine\"大众用户,并且是由IIS掌握密码的;