Nodejs express API не может подключиться к общественным работам на локальном

#node.js #express #nginx

#node.js #экспресс #nginx

Вопрос:

Я пытаюсь сделать свое приложение общедоступным.

У меня есть сервер с nginx. Все работает нормально, пока я работаю в своей локальной сети.

Есть моя конфигурация nginx (я знаю, что есть проблема)

 server {
        listen *:80;
        #listen [::]:80;


        access_log /var/log/nginx/myapp.access.log;
        error_log /var/log/nginx/myapp.error.log;


        root /srv/myapp/dist;
        index index.html index.htm;

        server_name myapp.mydomain.pl www.myapp.mydomain.pl;

        location / {

        try_files $uri$args $uri$args/ /index.html;

        #GZIP
        gzip on;
        gzip_comp_level    5;
        gzip_min_length  1100;
        gzip_buffers  4 32k;
        gzip_proxied       any;
        gzip_types    text/plain application/x-javascript text/xml text/css;
        gzip_vary on;
        }
}
  

Мой интерфейс работает нормально, но пока я хочу, например, войти в приложение, у меня истекло время ожидания или отказано в подключении.

Как должна выглядеть эта конфигурация?

Я получил доступ к / srv/myapp / dist, а сервер — к / srv/myapp /server

Часть моего server.js

 app.get("/", (req, res) => {
  res.json({ message: "Hello." });
});
  

Серверная часть работает независимо, но с интерфейсом это не так

Комментарии:

1. Ваш nginx.conf файл описывает статический веб-сайт. Но вам нужен nginx, чтобы служить обратным прокси -сервером для вашего приложения nodejs. В этом руководстве объясняется, как настроить это на виртуальной машине Ubuntu. Он написан DigitalOcean, но объяснение справедливо и в других местах. digitalocean.com/community/tutorials /…

Ответ №1:

Чтобы настроить обратный прокси, добавьте следующее в конфигурацию nginx.

 location / {
  proxy_pass http://<ip_address>:<port>;
}