上传的图片无法访问,401 - 未授权错误

1年前 6444次浏览 IIS

因为说是2008要停止维护了,赶紧换成了2016(其实是2008的IIS不支持绑定多个免费https证书,需要手动改文件觉得麻烦)。但是随之出现了一个问题:

后台上传图片可以正常上传,在服务器图片目录里面也能够看到该图片了,但是编辑器里面无法显示图片,直接通过网址访问这张图片提示【401 - 未授权: 由于凭据无效,访问被拒绝。】

查看图片属性,发现图片没有继承网站目录的权限属性。有四个权限账号,SYSTEM、Administrators、IIS_IUSRS三个和一个应用程序池名字的权限,一查看发现,除了IIS_IUSRS是特殊权限外,其它三个都是完全控制权限。

temp.png

那么原因出来了,就是通过网站用户打开的权限不够了。

手动对该张图片添加了一个everyone权限后,可以正常访问了,但是这不是解决问题的方法,总不能上传一张图片就加一次everyone权限。从上面的角度出发是因为IIS_IUSRS权限不够,也就是匿名身份权限不够了。解决方法如下:

注:下面的解决可以全局操作,也可以针对某一个网站操作,方法步骤是一样的,只是左侧的选择不一样。

第一步:打开IIS管理器,选择一个网站(或整个IIS)找到【身份验证】并点开。

temp.png

第二步:点击【匿名身份验证】-【编辑】后可以看到匿名访问时使用的是IUSR账号(果不其然就是这个账号没有权限)。

temp.png

第三点:指定一个有权限的账户,通过设置可以设置任意账号,但不推荐,建议使用应用程序池标识。就是第一个图片中的第四个账号,也就是网站对应的应用程序池账号。选中【应用程序池标识】后点确定,再访问就正常了。

相关评论
暂无相关评论...
发表评论
评论说明:

1、评论暂仅只持纯文字评论。

2、请不要发表与内容无关的评论。

3、评论需要经由审核才能显示出来。

4、评论姓名与链接无要求,只要评论内容符合便可审核通过。