docker部署nginx访问文件报403

编程

项目docker部署,专门有一个容器做文件的上传,同时又另外启动了一个docker容器做nginx,专门映射到这个路径。

但项目死活报403错误,网上查了一下,基本都是说一个linux的安全检查问题,照着做并没有效果,仔细去看上传的文件,

如上图,看到图片的权限是640,感觉应该是这里的问题,于是将文件的权限修改为777,再次nginx访问可以看到图片,这下基本确定就是文件的权限导致的,怎么解决呢,百度一圈看到这么个方案

Runtime.getRuntime().exec("chmod 777 -R " + uploadFilePath);

就等于执行了一次修改权限的命令,按照经验,在代码中调用命令行不是一件好事,而且很可能会存在安全问题。

经过一下午的测试,最后找到最合适的办法

如图,文件上传到目录后,对这个File 执行上面这个方法, setReadable,设置为可读,即有了对应的权限,注意,setReadable方法有2个参数,第一个是是否可读,第二个是不是指定的可读,如果设置为true是不行的。

再次上传,图片的权限变成了这样

nginx也能访问了。

 

以上是 docker部署nginx访问文件报403 的全部内容, 来源链接: utcz.com/z/515565.html

回到顶部