Как сделать что бы один IP адрес работал на 2 порта nginx?

Доброго времени суток, возникла проблема, у меян есть сервер, который сейчас работает, есть nginx, получилось сделать чтобы там работал python файл, а точнее flask, но сейчас появилась потребность добавить еще и node js back end и должен он работать по другому порту, например 3000
то есть flask работает на 80 и обращение к нему идет вот так 123.321.123.234/get_data
И что бы обратится к node js нужно сделать запрос 123.321.123.234:3000/get_user

python ан flask сейчас работает отлично, а вот с node проблема

server {
    listen 80;
    server_name 123.321.123.234 www.123.321.123.234;

    location / {
        include proxy_params;
        proxy_pass http://unix:/home/vek21/project21/project21.sock;
        add_header Access-Control-Allow-Origin * always;
        add_header Access-Control-Allow-Methods * always;
        add_header Access-Control-Allow-Headers * always;
    }
}

server {
    listen 80;
    server_name 123.321.123.234;
    location / {
        proxy_pass http://localhost:3000;
    }
}

перепробовал много вариантов, пока остановился на этом(Он если что тоже не работает. :) )
Возвращает вот такую ошибку
Error: connect ECONNREFUSED
как можно пофиксить эту проблему?

Еще пробовал вот такой конфиг делать
server {
        listen 80;
        listen [::]:80;


        root /var/www/html;

        index index.html index.htm index.nginx-debian.html;

        server_name доменное_имя;

        location / {
                proxy_pass http://localhost:ваш_порт;
                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;
        }

}
  • Вопрос задан
  • 101 просмотр
Пригласить эксперта
Ответы на вопрос 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Во втором server должно быть так:
server {
    listen 123.321.123.234:3000 default;
    location / {
        proxy_pass http://localhost:3000;
    }
}

Но NodeJS должен быть сконфигурирован работать только на localhost/127.0.0.1.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы