Как маршрутизировать ресурсы с помощью блока местоположения nginx? - PullRequest
0 голосов
/ 10 июня 2019

У меня есть конфигурация nginx, работающая на экземпляре EC2, со следующими правилами:

server {
    listen 80;
    server_name *****.com.ar www.*****.com.ar;

    proxy_set_header    X-Forwarded-For $remote_addr;
    proxy_set_header    Host $http_host;

    location ~ ^/(company|portfolio|services|contact|)(/|$) {
        proxy_pass         "http://privateip:80";
    }

    location / {
        proxy_pass         "http://privateip:3000";
    }
}

, как вы можете видеть, первое правило перенаправляет на частный ip на порту 80 , если первое слово после косой черты совпадает с объявлением некоторых слов (компания, портфель, услуги и т. Д.) Или, если слово после косой черты не существует.

С другой стороны, если после косой черты (напр. / Что-то) пришло слово, то nginx перенаправляет на тот же IP-адрес, но через порт 3000 .

Проблема заключается в следующем:

Когда я захожу на сайт (не вставляя ни слова после косой черты), я получаю правильное перенаправление на частный ip через порт 80 , но проблема в том, что активы не загружаются! .Если я перейду на вкладку сети (в Google Chrome dev tool), я вижу, что ресурсы получают перенаправление nginx (на порт 3000 ) при попытке загрузки, потому что запросы начинаются с путей, таких как / js, / styles, / images или просто / assets .

Как правильно передать или настроить активы через прокси-сервер nginx?Или как настроить nginx для загрузки всех вещей из приложений при совпадении местоположения?Потому что я столкнусь с этой проблемой и с маршрутами / путями приложений ... Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...