常见错误
配置文件错误
具体错误类型为HTTP 错误 500.19 - Internal Server Error
,错误描述为由于权限不足而无法读取配置文件
。
该错误的可能原因是:
- 如同描述所说的,由于权限不足,无法读取配置文件。这时候只要向文件添加适当的权限即可。
- 配置文件
web.config
不存在或者格式不正确。如果不是第一种原因,那么就有可能是这个原因,需要查看配置文件内容,看看是否存在问题。如果需要生成一个新的配置文件,可以先删除旧配置,然后在IIS中随便新建一点配置,再删除它们。这样IIS就会生成一个空白配置文件。 - IIS没有安装相关功能,导致无法读取特定的配置文件。当我向IIS发布ASP.NET Core程序的时候,同样出现了这个错误。后来我安装了相应的工具,网站就可以正常访问了。
权限错误
如果错误信息类似下面这样,说明IIS没有访问文件夹的权限。向文件夹增加IUSR
权限即可。
“/”应用程序中的服务器错误。
访问被拒绝。
说明: 访问服务此请求所需的资源时出错。您可能没有查看所请求的资源的权限。
错误消息 401.3: 您无权使用您提供的凭据查看此目录或页(由于访问控制列表而导致访问被拒绝)。请让 Web 服务器的管理员授予您访问“XXX”的权限。
解决办法
添加IIS_IUSRS权限
如果出现访问权限类型的错误,需要向Web文件夹授予相关权限,以便IIS能够读取并修改文件夹和配置文件的内容。
首先在IIS中点击需要设置权限的网站,然后在右侧菜单栏中点击编辑权限
,或者直接在对应的文件夹上点击右键并选择属性。不管是用哪种方法,都应该能打开文件夹属性对话框。
点击安全选项卡,然后点击编辑
按钮,打开权限对话框。
点击添加
按钮,然后输入IIS_IUSRS
并搜索。找到这个用户组之后点击确定。
由于IIS需要适当的权限修改文件夹中的配置文件,所以在权限对话框中为IIS_IUSRS
设置允许完全控制
。然后一路确定即可。
添加IUSR权限
解决方法类似上面,只不过这次添加的用户为IUSR
。
安装
如果向IIS发布ASP.NET Core应用程序,可能出现无法读取配置文件的错误。这时候尝试安装 .NET Core Windows Server Hosting工具。然后重启IIS,检查问题是否修复。