nginx反向代理静态资源403错误?

部署上线测试的Node项目,使用nginx反向代理时出现静态资源403错误,本地配置正确,线上同样的配置却产生了错误.配置如下:

upstream nodeblog{

        server 127.0.0.1:3000;

        keepalive 65;

}

server {

        listen 443;

        ssl on;

        server_name ;

        ssl_certificate ;

        ssl_certificate_key ;

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

        ssl_ciphers ;

        ssl_session_timeout 5m;

        ssl_prefer_server_ciphers on;

        location / {

                proxy_set_header X-Real-IP $remote_addr;

                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

                proxy_set_header Host $http_host;

                proxy_set_header X-Nginx-Proxy true;

                proxy_set_header Connection '';

                proxy_pass http://nodeblog;

        }

        location ~ .*\.(css|js|jpg|png|gif)$ {

                alias "/root/nodeApp/public/";

                expires 3d;

        }

}

按照提示设置了该目录下所有文件777权限,依旧是403错误

LEATH
浏览 853回答 1
1回答

慕仙森

找到一个原因,因为是在root权限下操作的,可能是nginx没有该目录的权限.个人服务器因此也没有分配其他用户,所以打开nginx.conf中第一行user nobody修改为user root使得nginx以root权限运行.这肯定不是好的解决方案,知识大致了解了,403的原因,nginx进程没有当前静态资源文件夹的相关权限,需要单独制定nginx对该目录的权限.希望有好的解决方案
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript