加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

nginx 403在提供静态文件时反向代理

发布时间:2020-12-13 21:08:52 所属栏目:Nginx 来源:网络整理
导读:我正在尝试通过nginx提供节点应用程序,但首先尝试提供可能位于/ public文件夹中的静态文件.我有那么多工作 但是当访问domain.tld /或静态文件夹的索引时,我得到403;目录索引“/var/www/domain.tld/”被禁止.所有权限似乎都是正确的,所以我很困惑. 这是我的服

我正在尝试通过nginx提供节点应用程序,但首先尝试提供可能位于/ public文件夹中的静态文件.我有那么多工作 – 但是当访问domain.tld /或静态文件夹的索引时,我得到403;目录索引“/var/www/domain.tld/”被禁止.所有权限似乎都是正确的,所以我很困惑.

这是我的服务器块;

server {
    server_name domain.tld;

    location / {
        root /var/www/domain.tld/public;
        try_files $uri $uri/ @proxy;
        access_log off;
    }

    location @proxy {
        proxy_pass http://127.0.0.1:3000;
    }
 }

访问任何随机页面(包括假定的子目录)正确代理节点应用程序.但是,对于任何现有静态目录的根和根,403.

有任何想法吗?

最佳答案
那是因为目录存在,因此检查了try_files

try_files $uri $uri/ @proxy;

成功.但是没有目录索引文件(通常是index.html,请参阅index),并且autoIndex也没有打开(参见autoindex).

根据您要发生的情况,请考虑以下选项:

>保持原样(可以调整使用哪些索引文件).
>始终将目录传递给后端.从try_files中删除$uri /来执行此操作,即:

location /
    root /var/www/domain.tld/public;
    try_files $uri @proxy;
}

>通过try_files检查特定的索引文件(如果找不到,请求将转到后端):

location /
    root /var/www/domain.tld/public;
    try_files $uri $uri/index.html @proxy;
}

>启用自动索引:

location /
    root /var/www/domain.tld/public;
    try_files $uri $uri/ @proxy;
    autoindex on;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读