LINUX.ORG.RU

Запуск Node.js приложения на сервере

 , , ,


0

1

Всем привет. Сколько уроков не смотрел, все заканчиваются одинаково - вот ваше бекенд приложение на http://localhost:3000, и вот так http://localhost:3000/login мы можем через постман авторизоваться (как пример). Поздравляем - вы большой молодец! А что дальше делать непонятно.

На сервере та же условная форма авторизации будет на http://my.ru/login или по адресу ip, а сами запросы не localhost же делаются.

Какие дальнейшие шаги?

К примеру, фронт на вью. Я его залил в /var/www/html. Стоит Nginx. Открывается по ip адресу. Как мне бек туда прикрутить, который там же на localhost работает?



Последнее исправление: yozuul (всего исправлений: 1)
Ответ на: комментарий от zolden

Можно пример конфига? Единственное что удалось найти похожее, это

server {
    location /auth/login {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-NginX-Proxy true;
        proxy_pass http://localhost:3000/auth/login;
        proxy_ssl_session_reuse off;
        proxy_set_header Host $http_host;
        proxy_cache_bypass $http_upgrade;
        proxy_redirect off;
    }

    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    server_name example.ru;
    root /var/www/example.ru/html;
    index index.html index.xml;

    ssl_certificate /etc/letsencrypt/live/example.ru/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.ru/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.ru/chain.pem;
}

Но это отдельно для каждого запроса + домен с ssl. У меня просто в корне /var/www/html лежит индексный файл. на 80 порту соотв.

yozuul
() автор топика

Поставь kubernetes и через ingress-ы разрули.

vbr ★★★★
()

Если фронт на vue.js, то нужно смотреть в документации ко vue.js как интегрировать production build в node.js.

axle_nix ★★
()
Последнее исправление: axle_nix (всего исправлений: 1)
Ответ на: комментарий от yozuul

Можно пример конфига?

back Node нничем не отличается от, допустим, того же c#. А значит ты можешь уввидеть конфиги и подставить свой порт )))

лови - https://learn.microsoft.com/en-us/aspnet/core/signalr/scale?view=aspnetcore-6.0#linux-with-nginx

Ну или Apache:

<VirtualHost *:*>
    RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
</VirtualHost>

<VirtualHost *:80>
    ProxyPreserveHost On
    ProxyPass / http://127.0.0.1:5000/
    ProxyPassReverse / http://127.0.0.1:5000/
    ServerName www.example.com
    ServerAlias *.example.com
    ErrorLog ${APACHE_LOG_DIR}helloapp-error.log
    CustomLog ${APACHE_LOG_DIR}helloapp-access.log common
</VirtualHost>
Roy-Batty
()

Не так давно тоже задавался таким же вопросом. У меня тоже фронт на Vue и бэк на Node и сервак на Nginx. Я устанавливался по этому гайду:

https://gist.github.com/sjosephrw/5bc7efbf4c332070165c61dba253288d

Пока я всё настроил и запустил, я на ЛОР-е создал три темы, мб тебе будет тоже интересно:

Лорчане всё разжевали и здорово мне помогли, за что им и спасибо.

CryNet ★★★★★
()
Последнее исправление: CryNet (всего исправлений: 2)

Ноду голой жопой в интернеты выставлять не надо, слушай что говорят про nginx.

crutch_master ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.