【问题标题】:nginx not works as expectednginx 无法按预期工作
【发布时间】:2019-03-13 09:31:08
【问题描述】:

我是 nginx 的新手。我最近尝试使用 nginx 来提供静态内容。

下面是我的 nginx 配置文件:

server {
  listen 80 default_server;
  listen [::]:80 default_server;

  server_name localhost;

  location /services {
        root /home/stone/source/javascript/demo/www;
        try_files $uri $uri/ =404;
        index index.html;
  }


  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_pass http://127.0.0.1:3000/;
        proxy_redirect off;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

        proxy_redirect off;
        proxy_set_header   X-Forwarded-Proto $scheme;

    }

}

当用户请求“http://localhost/index.html”时,它按预期工作并转到“http://127.0.0.1:3000/index”。但是当用户请求“http://localhost/services/demo.html”时,它应该转到“/home/stone/source/javascript/demo/www/services/demo.html”但它没有并返回给我一个 404 错误。我错过了什么?

【问题讨论】:

  • 检查您的错误日志并检查每个目录的文件权限,以确保 nginx 用户具有读取权限。
  • 谢谢。我自己想办法。我的 nginx 用户无权访问 /home/stone 文件夹。

标签: nginx server


【解决方案1】:

我自己想办法。我的 nginx 用户无权访问 /home/stone 文件夹。 /home/stone 的所有者如下:

drwx------. 59 stone stone  4096 Mar 13 19:40 stone

因此,其他用户无法访问stone文件夹。如果我执行这个命令

sudo chmod o+x /home/stone

然后一切都按预期工作!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-28
    • 2023-01-20
    • 2013-12-23
    • 2014-12-09
    • 2016-01-13
    • 2020-09-21
    相关资源
    最近更新 更多