【问题标题】:NGINX Ubuntu Web Server accesing CentOS file server: forbiddenNGINX Ubuntu Web 服务器访问 CentOS 文件服务器:禁止
【发布时间】:2018-03-17 23:56:01
【问题描述】:

基本上我在 ubuntu 上有我的前端,但我从 CentOS 中的文件服务器获取文件。

我尝试了 NGINX 需要访问的文件夹的 chmod 777,这是站点文件所在的位置,并尝试以 root 身份运行 nginx。

我看到 ubuntu 和 centOS 中的用户 ID 不同,即使以 root 身份运行,我仍然会得到 403。跟踪日志,结果如下:

2018/03/17 08:44:12 [error] 103557#103557: *3 directory index of
"/xxxxxxxx/" is forbidden, client: xxx, server: xx, 
request: "GET / HTTP/1.1", host: "xxx"

是否与具有不同操作系统的服务器有关?

【问题讨论】:

    标签: ubuntu nginx centos


    【解决方案1】:

    发生这种情况是因为您的服务器配置拒绝了“目录列表”操作。 当您向 nginx 发送请求时,服务器会执行下一个操作序列:

    • 为请求的目录拉取默认文件的名称。为此,您的服务器配置中有下一行:

      index index.php index.html index.htm index.nginx-debian.html;

    • 如果其中一个文件存在于请求的目录中,它将返回给用户。
    • 如果请求目录中没有这些文件,或者如果您没有在配置中定义此指令,nginx 将尝试检索并返回用户请求目录中的文件列表。但是默认情况下,在 nginx 配置中拒绝操作“目录列表”。要允许它,您应该在配置中添加下一行:

      location /somedir {
             autoindex on;
      }
      

      如果“目录列表”操作被拒绝,并且请求的目录中没有任何默认文件,您将收到 403 Forbidden。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-26
      • 2020-04-16
      • 1970-01-01
      • 1970-01-01
      • 2011-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多