Правило Nginx proxy_pass не работает для моих angular приложений - PullRequest
0 голосов
/ 12 июля 2020

Ниже приведены правила proxy_pass, созданные на моем Nginx сервере для указания на два приложения. Правило прокси работает для URL-адреса по умолчанию, но я не могу указать приложение, работающее через порт 2000. Пожалуйста, помогите мне найти причину root. Это связано с # присутствует в URL-адресе?

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    location /#/login {
        proxy_pass http://3.81.197.217:2000;
    }
    location / {
        proxy_pass http://3.81.197.217;
    }
}

Подробнее

  1. http://3.81.197.217: 2000 - это приложение angular, работающее в порт 2000
  2. http://3.81.197.217 - это другое приложение, работающее на порту 80 в том же самом окне.

Оба эти приложения созданы с Angular и имеют # в URL

1 Ответ

1 голос
/ 12 июля 2020

Я думаю, что лучший способ - использовать разные поддомены, потому что оба приложения имеют много маршрутов, поэтому ваше решение будет вызывать множество конфликтов.

Проблема в /. попробуйте эту конфигурацию, она будет работать.

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    location /#/login/ {
        proxy_pass http://3.81.197.217:2000/;
    }
    location / {
        proxy_pass http://3.81.197.217/;
    }
}
...