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

Запустите nginx на статическом IP-адресе сервера

Простите за плохой английский, я не могу это объяснить.

У меня есть VPS с Windows Server 2012 с Nginx, и я запускаю сервер Node на порту 4000 и клиент React на порту 3000.

На удаленном рабочем столе веб-сайт работает по адресу localhost, но когда я использую статический IP-адрес сервера на другом устройстве, я получаю любой ответ от сервера.

Невозможно связаться с этим сайтом. XXX.XXX.192.176 Ответили слишком долго.

Я установил IIS и подключился к серверу, но когда IIS запущен, nginx не запускается.

nginx настроен следующим образом:

worker_processes  1;

events {
  worker_connections  1024;
}


http {
  include       mime.types;
  default_type  application/octet-stream;

  sendfile        on;

  keepalive_timeout  65;

  server {
    listen 80;
    server_name  _;

    location /api {
        proxy_pass http://localhost:4000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
    }
    location /socket.io {
            proxy_pass http://localhost:4000;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "Upgrade";
    }
    location / {
            proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "Upgrade";
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
      root   html;
    }
  }
}

Наконец я решил проблему:

Я просто добавляю IP-адрес сервера как server_name и проверил брандмауэр Windows на порт 80.

server {
    listen 80;
    server_name  XXX.XXX.192.176; // IP of server

    location /api {
        proxy_pass http://localhost:4000;
    }
    location /socket.io {
            proxy_pass http://localhost:4000;
    }
    location / {
            proxy_pass http://localhost:3000;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
      root   html;
    }
  }