图片上传完成后使用的是Openresty 的nginx 来进行访问 提示Forbidden 应该是权限不够的原因,在确定nginx 配置没有问题后,应该是tomcat的原因了
在linux上面查看 发现上传的文件的权限是640 创建的文件夹是750权限 默认其他用户的权限是0 ,查看系统umask设置如下
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
umask 002
else
umask 022
fi
这样以来 umask 002 对应的文件权限就是664,umask 022 对应的文件夹权限是755 其他用户均有读取访问权限,这样以来就只有tomcat的原因了
最近就从tomcat 7 更换为tomcat 8 ,之前tomcat7 都是正常的,在测试了一遍发现tomcat7 一切正常能读取到资源。这样就在于tomcat版本的差别了。在tomcat 8.5.23的官方文档中 发现
# Set UMASK unless it has been overridden
if [ -z "$UMASK" ]; then
UMASK="0027"
fi
umask $UMASK
这样问题就很明显了 文件夹的权限就变成了750 其他用户无法读取资源了 更改为0022后重启tomcat 上传新的文件资源 文件权限 ok 并且可以正常访问