Reactjs Nginx显示403禁止

Reactjs Nginx显示403禁止,reactjs,nginx,Reactjs,Nginx,我在nginx上托管过react应用程序,当我尝试访问任何扩展名为(例如favicon.ico)的文件时,nginx会抛出403禁止错误,尽管它在基本应用程序路由(例如,对于没有扩展名的文件)中运行良好。我正在下面粘贴nginx config,我试图访问的静态文件位于/var/www/deebaco.com/html中。我是否需要编写另一个位置块来服务扩展名为的文件 server { listen 80; server_name deebaco.com www.deebaco.c

我在nginx上托管过react应用程序,当我尝试访问任何扩展名为(例如favicon.ico)的文件时,nginx会抛出403禁止错误,尽管它在基本应用程序路由(例如,对于没有扩展名的文件)中运行良好。我正在下面粘贴nginx config,我试图访问的静态文件位于/var/www/deebaco.com/html中。我是否需要编写另一个位置块来服务扩展名为的文件

server {
    listen 80;
    server_name deebaco.com www.deebaco.com;
    return 301 https://www.deebaco.com$request_uri;
}
server {
    listen 443 ssl;
    server_name deebaco.com;

    ssl_certificate /root/deebaco.com.chained.crt;
    ssl_certificate_key /root/deebaco.com.key;
    return 301 https://www.deebaco.com$request_uri;
}

server {
    listen 443 ssl http2;

   add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

    server_name www.deebaco.com;
    root /var/www/deebaco.com/html;

    ssl_certificate /root/deebaco.com.chained.crt;
    ssl_certificate_key /root/deebaco.com.key;

    #location / {
    #try_files $uri $uri/ /index.html?$args;
    #}

    location / {
    try_files $uri /index.html;
    autoindex on;
    autoindex_exact_size off;
    }

}

检查公用目录的所有者,例如使用以下命令:

ls -l /var/www/deebaco.com/html
nginx
通常以
nobody
的身份运行,相反,它应该以与所有者相同的用户运行

编辑
/etc/nginx/nginx.conf
以设置相同的用户。例如,如果目录属于
www-data
,请添加以下内容:

user  www-data;
保存配置后,验证其是否正确:

sudo nginx -t
如果上述命令确认语法正常,请重新加载nginx配置:

sudo systemctl reload nginx.service

这应该可以解决问题。

检查公用目录的所有者,例如使用以下命令:

ls -l /var/www/deebaco.com/html
nginx
通常以
nobody
的身份运行,相反,它应该以与所有者相同的用户运行

编辑
/etc/nginx/nginx.conf
以设置相同的用户。例如,如果目录属于
www-data
,请添加以下内容:

user  www-data;
保存配置后,验证其是否正确:

sudo nginx -t
如果上述命令确认语法正常,请重新加载nginx配置:

sudo systemctl reload nginx.service

这应该可以解决问题。

哪个用户是nginx使用的,哪个操作系统用户是目录的所有者
/var/ww/deebaco.com/html
?该目录的权限是什么?这是否回答了您的问题@Mehdi我不记得在配置中设置了任何权限并添加了不同的用户,我对这一点比较陌生,我所做的只是为域(即deebaco.com)创建了一个单独的文件,上面的代码片段是域的配置。它在ubuntu 18.04上运行OS@Mehdi由于我没有添加任何用户和权限,我猜唯一的用户是默认的www数据用户。@Mehdi感谢您为我指明了正确的方向,我将用户改为根用户,并在nginx配置文件中,这似乎对我起到了作用。任何其他建议都将不胜感激,谢谢。哪个用户是nginx使用的,哪个操作系统用户是目录
/var/ww/deebaco.com/html
的所有者?该目录的权限是什么?这是否回答了您的问题@Mehdi我不记得在配置中设置了任何权限并添加了不同的用户,我对这一点比较陌生,我所做的只是为域(即deebaco.com)创建了一个单独的文件,上面的代码片段是域的配置。它在ubuntu 18.04上运行OS@Mehdi由于我没有添加任何用户和权限,我猜唯一的用户是默认的www数据用户。@Mehdi感谢您为我指明了正确的方向,我将用户改为根用户,并在nginx配置文件中,这似乎对我起到了作用。任何其他建议都将不胜感激,谢谢。非常感谢,正是我所需要的。非常感谢,正是我所需要的。