新版本的tomcat加强了安全性,通过tomcat在服务器端建立的文件,其他用户是没有访问权限的。这样导致Nginx静态图片服务无法访问报403
Forbidden
You don't have permission to access /img/test/2019/12/20191217174607011628.jpe on this server.
错误。
解决办法是在tomcat的bin目录下的catalina.sh文件中大约260行覆盖默认的umask
if [ -z "$LOGGING_MANAGER" ]; then
LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"
fi
Set UMASK unless it has been overridden
if [ -z "$UMASK" ]; then
UMASK="0027" 修改0027 为 022
fi
umask $UMASK
保存重启tomcat即可。
如果nginx use = root则不会出现以上问题, 但是通过为了安全性都会设置一个指定用户去执行nginx