asp文件用什么打开(asp文件用iis环境运行)

windows server下iis无法访问asp网页

asp文件用什么打开(asp文件用iis环境运行)

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:WINNTMicrosoft.NET Frameworkv1.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.NETFrameworkv1.0.3705CONFIG。

5. 在 Machine.config 文件的 <processModel> 部分,将 userName 和 password 属性更改为您在第一步中创建的帐户的名称和密码。例如:

userName=”DomainNameASPUSER” password=”ASPUSERpassword”

6. 保存对 Machine.config 文件所做的更改。

************************************************************************************

弄了很久一直不行,后来终于发现系统中iuse_oaserver(oaserver是服务器的计算机名)用户名被改成了iuse_server,很多用户都没掉了或者被改名了,可能是原先中毒的缘故,我添加了IUSE_OASERVER,添加了dotnet1.1安装目录下的权限等,网页可以访问了。主要有以下操作:

①、aspnet_regiis -i (重新安装ASP.NET 组件);

②、给donnet1.1 安装目录C:WINNTMicrosoft.NETFrameworkv1.1.4322的安全属性里添加iuse_oaserver读取的权限;

③、重新启动一下IIS 或者在”运行”中输入:iisreset;

④、激活2个帐户 ASPNET、IUSR_machine(“machine”为计算机名称),不要设置密码,确认在IIS的安全设置(匿名访问)里面找到”IUSR_machine”用户,并且是由IIS控制密码的;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至2705686032@qq.com 举报,一经查实,本站将立刻删除。原文转载: 原文出处:

(0)
尊云-小张的头像尊云-小张
上一篇 2024 年 6 月 2 日
下一篇 2024 年 6 月 2 日

相关推荐

发表回复

登录后才能评论

联系我们

400-900-3935

在线咨询: QQ交谈

邮件:cong@zun.com

工作时间:365天无休服务 24小时在线

添加微信