Назад | Перейти на главную страницу

Запуск двух приложений на одних и тех же портах nginx с proxy_pass

У меня есть два приложения, работающих на сервере nginx, одно из них - приложение для реагирования (интерфейс), а другое - приложение sails.js (api). Я хочу, чтобы все запросы обрабатывались с портом 9000. Так, чтобы мой api никогда не изменял как загрузка моих страниц внешнего интерфейса, так и запросы backend, использовали ссылку localhost: 9000 ... Все мои маршруты api по умолчанию выглядят так: localhost: 1337 / api / v1 / ...

Как мне настроить для этого свой nginx.conf?

server {
    listen       9000;
    listen       localhost:9090;
    server_name  localhost;

    location / {
        root   /var/www/react-apps/intern-app;
        try_files $uri /index.html;
    }
}



server {
    listen       9000/api/v1/;
    listen       localhost:9000/api/v1/;
    server_name  localhost;

    location / {
    proxy_pass http://localhost:1337/api/v1/;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
   }
}

Когда я запускаю это, появляется следующая ошибка:

nginx: [emerg] invalid host in "localhost:9000/api/v1/" of the "listen" directive in /usr/local/etc/nginx/nginx.conf:111