ftp+nginx 搭建图片服务器出现 403 forbidden

ftp上传图片之后,使用nginx访问报错403 forbidden
403: 服务器正常相应,但是无访问权限
nginx配置

#user  nobody;

http {
include       mime.types;
default_type  application/octet-stream;

sendfile        on;

keepalive_timeout  65;

server {
    listen       80;
    server_name  localhost;

    location / {
        root   /home/ftpuser/www;
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }

}

登录ftp之后发现图片上传成功,目录也存在,出现这个问题的原因是文件访问权限不足。

FTPClient ftpClient = new FTPClient();
ftpClient.connect("192.168.88.129",21);

ftpClient.login("ftpuser","ftpuser");

File file = new File("E:\\baidupan\\01.开发笔记\\Adobe\\10214.jpg");
FileInputStream fileInputStream = new FileInputStream(file);

ftpClient.changeWorkingDirectory("/home/ftpuser/www/image");

//设置文件上传模式
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);

ftpClient.storeFile("hello.jpg",fileInputStream);

ftpClient.logout();

/home/ftpuser 是用户ftpuser 的,可以访问的只有root用户和ftpuser用户

解决这个访问权限有两种解决方法。

第一种:修改相关文件夹的访问权限(在这里是www/iamges),使任何用户可以访问。

第二种:修改nginx运行用户。
在nginx的配置文件nginx.congf 开头中: #user nobody; 修改为user ftpuser;
重启nginx服务器,重新加载配置文件即可正常访问

image

posted @ 2025-12-25 15:02  姬雨晨  阅读(3)  评论(0)    收藏  举报