【发布时间】: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 文件夹。