У меня есть приложение node.js, работающее на сервере Linux (nginx).

xxx.xxx.xxx.xxx:3000/api

Когда я пытаюсь подключиться со своего мобильного телефона или компьютера дома, я могу. Но когда я пытаюсь подключиться из сети моей компании, я не могу получить. Также я могу получить 80 порт от любого.

Почему я не могу получить 3000 порт?

1 ответ1

0

Ваша компания, скорее всего, имеет брандмауэр, который очень ограничен. Они начнут с состояния «ничего не разрешено», а затем добавят то, что нужно.

Это будут порты 80 для http (просмотр веб-страниц), 443 для https и все, что вам нужно.

Вы можете установить прокси так, чтобы пользователь подключался к порту 80, но ваше приложение node.js все равно получит на 3000.

Подробная ссылка здесь: здесь

TLDR - это:

  • Откройте ваш конфиг (centOS /etc/nginx/conf.d или Ubuntu /etc /nginx /sites-enabled)
  • Внесите изменения ниже (измените по мере необходимости, чтобы соответствовать вашим потребностям)
  • Перезапустите службу nginx

    server {
        listen 80;
        server_name your-domain-name.com;
        location / {
           proxy_set_header   X-Real-IP $remote_addr;
           proxy_set_header   Host      $http_host;
           proxy_pass         http://127.0.0.1:3000;
        }
    }
    

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .