因为说是2008要停止维护了,赶紧换成了2016(其实是2008的IIS不支持绑定多个免费https证书,需要手动改文件觉得麻烦)。但是随之出现了一个问题:
后台上传图片可以正常上传,在服务器图片目录里面也能够看到该图片了,但是编辑器里面无法显示图片,直接通过网址访问这张图片提示【401 - 未授权: 由于凭据无效,访问被拒绝。】
查看图片属性,发现图片没有继承网站目录的权限属性。有四个权限账号,SYSTEM、Administrators、IIS_IUSRS三个和一个应用程序池名字的权限,一查看发现,除了IIS_IUSRS是特殊权限外,其它三个都是完全控制权限。
那么原因出来了,就是通过网站用户打开的权限不够了。
手动对该张图片添加了一个everyone权限后,可以正常访问了,但是这不是解决问题的方法,总不能上传一张图片就加一次everyone权限。从上面的角度出发是因为IIS_IUSRS权限不够,也就是匿名身份权限不够了。解决方法如下:
注:下面的解决可以全局操作,也可以针对某一个网站操作,方法步骤是一样的,只是左侧的选择不一样。
第一步:打开IIS管理器,选择一个网站(或整个IIS)找到【身份验证】并点开。
第二步:点击【匿名身份验证】-【编辑】后可以看到匿名访问时使用的是IUSR账号(果不其然就是这个账号没有权限)。
第三点:指定一个有权限的账户,通过设置可以设置任意账号,但不推荐,建议使用应用程序池标识。就是第一个图片中的第四个账号,也就是网站对应的应用程序池账号。选中【应用程序池标识】后点确定,再访问就正常了。