не может получить доступ к маршруту на Nginx с помощью экспресс - PullRequest
0 голосов
/ 30 октября 2018

Я создал сайт, используя React js, и внес некоторые изменения в Nginx, чтобы переписать маршрут к файлу, чтобы не получить ошибку 404, недавно я попытался использовать Express on, если я настроил nginx для покупки одностраничного приложения, используя: location / {try_files $ uri $ uri / /index.html; } я получу страницу notFound из моего приложения, когда я пытаюсь связаться с / api, если я не настрою ее, я могу получить доступ к своему экспресс-серверу, но сайт показывает notFound по nginx, когда я пытаюсь получить доступ к URL-адресу, кроме домашней страницы напрямую,

, так что я ищу конфигурацию исключений для nginx, я хочу переписать весь маршрут в индекс HTML, кроме любого URL, начинающегося с / api / *

Пожалуйста, спасите мою жизнь :) Я не могу найти решение в интернете С уважением

1 Ответ

0 голосов
/ 30 октября 2018

Хотя неясно, какая у вас архитектура, я сделаю предположение, что приложение React работает на определенном порту, например 3000 и внутренний сервер /api на порт 5000.

Вот очень простой пример конфигурации nginx, которая перенаправляет все /api запросы на сервер (порт 5000), а остальные - в приложение React.

upstream client {
    server client:3000;
}

upstream api {
    server api:5000;
}

server {
    listen 80;

    location / {
        proxy_pass http://client;
        // try_files $uri $uri/ /index.html; // to redirect to the index page
    }

    location /api {
        proxy_set_header X-Forwarded-For $remote_addr;
        rewrite /api/(.*) /$1 break;
        proxy_pass http://api;
    }    
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...