У меня есть конфигурация 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 для загрузки всех вещей из приложений при совпадении местоположения?Потому что я столкнусь с этой проблемой и с маршрутами / путями приложений ... Спасибо!