Я не уверен, как я могу объяснить это от начала до конца. Надеюсь, вы получили общее c представление о том, как это работает.
Из вашего вопроса я понимаю, что у вас проблемы с конфигурацией Nginx.
ваш Nginx файл конфигурации должен выглядеть так:
location / {
# This would be the directory where your frontend code resides
root /var/www/html/;
try_files $uri /index.html;
}
location /api {
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/;
proxy_set_header Host $http_host;
proxy_redirect off;
}
Вы можете использовать PM2 для запуска приложения nodejs на вашей виртуальной машине .
Здесь Nginx будет веб-сервер для вашего внешнего приложения и прокси для вашего внутреннего приложения, весь запрос будет попадать на ваш Nginx сервер.
Надеюсь, это то, что вы ищете.