发布ASP.NET 4.6 MVC项目至1and1 Windows主机遇500.19权限错误
嘿,我之前在1and1的Windows主机上部署ASP.NET 4.6 MVC项目时也碰到过一模一样的权限问题,给你几个我亲测有效的解决思路:
解决ASP.NET 4.6 MVC部署到1and1 Windows主机的500.19权限错误
1. 检查web.config文件的权限设置
1and1的Windows主机对网站目录权限管控比较严格,核心问题就是\www\Home目录下的web.config文件权限不足:
- 登录1and1主机控制面板的文件管理器
- 右键点击
web.config文件,进入权限设置界面 - 给
IIS_IUSRS组和NT AUTHORITY\NETWORK SERVICE账号分配读取和执行权限 - 记得把权限递归应用到整个网站目录(如果项目有子目录依赖的话)
2. 确认ASP.NET运行版本匹配
有时候主机默认的ASP.NET版本不是4.6,会间接导致配置文件读取异常:
- 进入1and1主机管理后台的「ASP.NET设置」选项
- 确保你的网站对应的ASP.NET版本被设置为4.6
- 保存设置后重启站点(控制面板里一般有重启按钮)
3. 排查web.config中的自定义配置节
如果你的项目web.config里有第三方组件的自定义配置节,IIS可能因为权限限制无法加载:
- 把你的项目web.config和能正常运行的示例网站web.config做对比,找出差异配置
- 先注释掉这些自定义配置,重新发布测试,如果能正常运行,再逐个排查具体是哪个配置节出的问题
- 对于需要特殊权限的配置,可能需要在主机上注册对应组件或者调整权限
4. 确认网站目录被设置为应用程序
1and1的Windows主机有个小细节:ASP.NET项目需要被设置为独立应用程序,不能直接放在子目录:
- 在控制面板的文件管理器里,右键点击
\www\Home目录 - 选择「设置为应用程序」,并指定ASP.NET 4.6对应的应用程序池
补充一下:我当时碰到这个问题时,就是因为
IIS_IUSRS组没权限读web.config,加上网站目录没设为应用程序,调整这两个点后就正常运行了。
内容的提问来源于stack exchange,提问作者FullStackIntern98
相关产品推荐
相关产品推荐

