如何让MSA用户作为应用程序池标识正常工作?(出现503错误)
兄弟,我看你已经做了不少基础配置,但出现503+应用池停止的情况,大概率是几个容易被忽略的点没做好,给你列几个排查方向:
务必使用完整的域账户格式:你提到设置应用池标识时只用了
msa_account$,但MSA是域托管账户,必须指定完整的域\账户名格式(比如my-domain\msa_account$)。IIS默认会把不带域的账户当成本地账户查找,自然找不到你的MSA,导致应用池启动失败。验证MSA是否已关联到当前服务器:MSA需要和目标服务器绑定才能正常使用,你可以在服务器上打开PowerShell,执行
Test-ADServiceAccount msa_account$命令,如果返回True说明关联正常;如果是False,得先在域控制器上把这个MSA分配给你的服务器(用Add-ADComputerServiceAccount命令)。开启「加载用户配置文件」选项:MSA需要加载自身的用户配置文件才能正常运行应用池。打开IIS管理器→找到目标应用池→右键「高级设置」→在「进程模型」里找到「加载用户配置文件」,设置为
True。补全「登录为服务」权限:你给MSA加了「登录为批处理作业」权限,但还需要添加「登录为服务」权限。打开
secpol.msc→本地策略→用户权限分配→找到「登录为服务」→添加你的MSA账户my-domain\msa_account$。查看事件查看器找具体错误:503只是表面现象,去「事件查看器」→「Windows日志」→「应用程序」里找和应用池停止相关的错误日志(比如Event ID 5058、5021),里面会有具体的失败原因(比如账户登录失败代码),能帮你精准定位问题。
重启应用池或IIS:修改完权限和配置后,先右键应用池选择「重启」,如果还是不行,打开命令提示符执行
iisreset重启整个IIS服务,一般不需要重启服务器,除非你做了域级别的权限变更。
备注:内容来源于stack exchange,提问作者Stackerito

