服务器 server 2003、 2008r2. iis 7.5、2019 iis 10. 发布的 asp网站。使用classic .net apppool应用池。最近不间断的出503错误,检查iis日志,报出这样的错误:
应用程序池“classic .net apppool”将被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误.
和
警告:
为应用程序池“classic .net apppool”提供服务的进程在与 windows process activation service 通信时出现严重错误。
我在网上查到一个解决办法:
最终的解决办法
点击"开始"-"控制面板"-"管理工具"-"组件服务"-"计算机"-"我的电脑"-"dcom"选项(在win2016、2019中在服务器管理器中 > 工具 > 组件服务)
选择其下的"iis admin service",右健选择"属性",找到"安全",在"启动和激活权限"中编辑"自定义"
添加帐号"network service ", 给该帐号赋予"本地启动"和"本地激活"的权限
重新启动iis即可("开始"-"运行"-"cmd",点确定,然后运行iisreset)
如果"iis admin service"这个居然全是灰色的,没法配置,后来查了说这个是win2019 x64的安全特性.一些核心系统组件只能允许本地帐号,trustedinstaller有完全控制权限,而不是本地管理员组。
解决办法如下:
要在windows server 2008 r2 上修改 “iis admin service” ,你需要授予本地管理员组有注册表权限:
1.在组件管理器中查到iis的appid(即应用程序id)
2.使用regedit,定位到hkey_classes_root\appid\{刚查到的id}”
复制 iis admin service 的应用程序 id,一般都是:{a9e69610-b80d-11d0-b9b9-00a0c922e750}
3.右键点击{刚查到的id},选权限
到注册表中搜索 {a9e69610-b80d-11d0-b9b9-00a0c922e750},找到 hkey_classes_root\appid {a9e69610-b80d-11d0-b9b9-00a0c922e750},右击 -> 权限 -> 高级 -> 将所有者变更为 “administrators”
4.在权限设置窗口中点高级,选择所有者标签,选中administrators为所有者
5.授予administrators组有读/写等所有权 注意:务必不要修改trustedinstaller的权限(这个我一开始老是授权不成功,多试了几下就好了。点点高级配置什么的,多试试吧。)
返回一个界面,给 administrators 授予完全控制权限
重新打开组件服务发现安全页不灰了
然后参考上面的步骤正常设置一下就可以了。
发表评论