403 nginx 错误 - 权限被拒绝

Posted

技术标签:

【中文标题】403 nginx 错误 - 权限被拒绝【英文标题】:403 nginx error - permissions denied 【发布时间】:2016-04-21 12:59:32 【问题描述】:

当我尝试使用 nginx 访问域时出现 403 禁止错误。我得到的 nginx 日志是:

[error] 13656#0: *4 "/var/www/example.com/www/index.php" is forbidden (13: Permission denied), client: 31.179.107.194, server: example.com, request: "GET / HTTP/1.1", host: "example.com"

/var/www/ 具有递归 777 权限。站点可用的配置是:

#HTTP serve
#
server 
        listen   80;

        root /var/www/example.com/www/;
        index index.php index.html index.htm;

        server_name example.com;

        access_log /var/log/nginx/example.com.access.log combined buffer=1024k;
        error_log /var/log/nginx/example.com.error.log;

        client_max_body_size 128M;

        if (!-e $request_filename) 
                rewrite ^/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/$ /index.php?controller=$1&action=$2 last;
        

        location ~ \.php$ 
                if (!-f $document_root/$fastcgi_script_name)
                        return 404;
                

                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                proxy_connect_timeout 600s;
                proxy_read_timeout 600s;
                include fastcgi_params;
        

        location ~ /\.ht 
                deny all;
        

nginx.conf 包含user root; 指令。

怎么了?

【问题讨论】:

【参考方案1】:

一个可能的原因是您使用的是 SELinux。见Why does Nginx return a 403 even though all permissions are set properly?。

另外,设置user root 存在安全风险,不推荐。建议使用像“www-data”或“nobody”这样的非特权用户,以及允许该用户访问所需的最少数据的权限。

【讨论】:

以上是关于403 nginx 错误 - 权限被拒绝的主要内容,如果未能解决你的问题,请参考以下文章

CloudScheduler 403 创建时权限被拒绝

Nginx 错误:(13:权限被拒绝)同时连接到上游

nginx 错误:(13:权限被拒绝)同时连接到上游)

谷歌应用引擎 - 权限被拒绝错误

nginx 500 错误,tmp 文件夹的权限被拒绝

访问被拒绝:获取云端硬盘凭据时权限被拒绝