问题
SpringBoot 集成 Swagger 时,前端页面出现 net::ERR_CONTENT_LENGTH_MISMATCH
的问题。
解决过程
之前思考错了方向,以为是 Shiro
拦截了 Swagger
的静态资源;但发现本地可以访问,而测试环境不能访问,所以认定应该不是代码的问题。最后分析下来,发现是测试环境 nginx 的 proxy_temp
的文件夹权限问题。
刚开始时,nginx 没有配置用户,导致 proxy_temp
的访问权限都是 nobody:nobody
,查看 nginx 的错误日志 error.log
也出现
1 | *188 open() "/usr/local/nginx/proxy_temp/1/01/0000000011" failed (13: Permission denied) |
解决方法
先关闭 nginx,然后执行 chown -R user:user proxy_temp
修改 proxy_temp
的所属用户和用户组为当前 nginx 的用户,最后启动 nginx 即可。