2017-02-23 9 views
0

Я пытался настроить приложение Реагировать на Nginx, но я столкнулся с проблемой при обслуживании статических файлов из подкаталогаNginx 404 на статические файлы (реагировать приложение)

Мой файл дерева, как это:

/var/www/ 
    antoinedeveyrac.io/ 
    ... 
    react/ 
    ... 
    build/ 
     index.html 
     static/ 
     js 
      *.js 
     css 
      *.css 

Мой файл конф является:

server { 
    listen 443 ssl http2; 
    listen [::]:443 ssl http2; 
    include snippets/ssl-antoinedeveyrac.io.conf; 
    include snippets/ssl-params.conf; 

    root /var/www/antoinedeveyrac.io/html; 
    index index.html index.htm index.nginx-debian.html; 

    server_name antoinedeveyrac.io www.antoinedeveyrac.io; 

    location/{ 
     # First attempt to serve request as file, then 
     # as directory, then fall back to displaying a 404. 
     try_files $uri $uri/ =404; 
    } 

    location ~ /.well-known { 
     allow all; 
    } 

    location /react { 
     alias /var/www/react/build; 
     try_files $uri $uri/ =404; 
     autoindex off; 
     index index.html; 
    } 
} 

Так что, когда я бил https://antoinedeveyrac.io/react, у меня есть эти ошибки 404, что означает, Nginx не понимает, что я хочу служить файл из https://antoinedeveyrac.io/react/static/... вместо https://antoinedeveyrac.io/static/...

Как исправить мой файл конфигурации в соответствии с моими статическими файлами внутри подкаталога? Большое спасибо :)

ответ

0

Вы получаете 404 на активах, на которые ссылаются в /var/www/react/build/index.html, или на самой странице index.html? Я бы спросил об этом в комментарии, но репутация пока не достаточно высока.

Ваш корневой каталог nginx указывает на каталог html, который, как представляется, не существует на основе выведенного вами каталога.

root /var/www/antoinedeveyrac.io/html; 

Попробуйте изменить корневой конфигурации для ...

root /var/www/antoinedeveyrac.io/ 

В вашем index.html, вы должны ссылаться на такие активы, как это (если вы не делаете уже)

<link href="scripts/somefile.css" rel="stylesheet">