程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Nginx 403禁止所有文件大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Nginx 403禁止所有文件?

开发过程中遇到Nginx 403禁止所有文件的问题如何解决?下面主要结合日常开发的经验,给出你关于Nginx 403禁止所有文件的解决方法建议,希望对你解决Nginx 403禁止所有文件有所启发或帮助;

一个经常被忽略的权限要求是,用户需要在文件的每个父目录中具有x个权限才能访问该文件。检查/,/ home,/ home / demo等的权限,以进行www- data x访问。我的猜测是/ home大概是770,而www-data无法通过chdir进入任何子目录。如果是这样,请尝试使用chmod o + x / home(或任何拒绝该请求的目录)。

编辑:要轻松显示路径上的所有权限,可以使用 namei -om /path/to/check

解决方法

我在CentOS 5盒子上安装了Nginx和php-FPM,但是我很难使它服务于我的任何文件-无论是否为php

Nginx以www-data:www-data的身份运行,默认的“欢迎使用EPEL上的nginx”站点(由root:root拥有644权限)可以很好地加载。

nginx配置文件具有 /etc/nginx/sites-enabled/*.conf 的include指令 而我有一个配置文件
_example.com.conf_ ,因此:

server {
 listen 80;

 Virtual Host Name
 server_name www.example.com example.com;


 LOCATIOn / {
   root /home/demo/sites/example.com/public_html;
   index index.php index.htm index.html;
 }

 LOCATIOn ~ \.php$ {
  fastcgi_pass   127.0.0.1:9000;
  fastcgi_index  index.php;
  fastcgi_param  PATH_INFO $fastcgi_script_name;
  fastcgi_param  SCRIPT_FILename  /home/demo/sites/example.com/public_html$fastcgi_script_name;
  include        fastcgi_params;
 }
}

尽管public_html由具有2777文件权限的www-data:www-data拥有,但该网站无法提供任何内容-

 [error] 4167#0: *4 open() "/home/demo/sites/example.com/public_html/index.html" failed (13: Permission denied),client: XX.XXX.XXX.XX,server: www.example.com,request: "GET /index.html http/1.1",host: "www.example.com"

我发现有许多其他帖子,用户从nginx获得403s,但是我看到的大多数帖子都涉及到Ruby /
Passenger的更复杂的设置(过去我实际上已经成功完成),或者仅在上游php时收到错误-涉及FPM,因此它们似乎无济于事。

我在这里做了些傻事吗?

大佬总结

以上是大佬教程为你收集整理的Nginx 403禁止所有文件全部内容,希望文章能够帮你解决Nginx 403禁止所有文件所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。