Приложение Nodejs не может связаться с внутренним веб-сервисом - PullRequest
0 голосов
/ 10 октября 2019

Я использую два веб-сервиса на одном компьютере. Первый - это шлюз api приложения nodejs, работающий с PM2 в режиме форка, с помощью nginx я сделал восходящий порт 3000 для подключения к Интернету и узлы PM2 в порту 3001, это прекрасно работает.

Мое второе приложение - этовеб-сервис на Java, работающий через порт 8081 (не подключенный к Интернету), шлюз приложения nodejs должен отфильтровывать все входящие запросы, но мое приложение nodejs не может связаться с другим сервисом.

Если я открываю веб-сервис java дляИнтернет (общедоступный IP-адрес и порт) и запустите мое приложение nodejs на моем локальном компьютере, приложение nodejs может связаться с другим веб-сервисом, но не работает в тех случаях, когда сервисы работают на той же машине, я полагаю, что-то отсутствует в моей конфигурации NGINX.

Я попытался установить среду nodejs ENDPOINT как localhost: 8081 / 127.0.0.1:8081/, но приложение nodejs не может связаться с другой веб-службой.

Конфигурация NGINX

upstream gateway{
    server 127.0.0.1:3001;
    server 127.0.0.1:3002;
}

server {
    listen 3000;

    location / {
        proxy_set_header   X-Forwarded-For $remote_addr;
        proxy_set_header   Host $http_host;
        proxy_pass         http://gateway;
    }
}

Конфигурация среды PM2, ENDPOINT - это еще один веб-сервис на Java

{
  "apps": [
    {
      "exec_mode": "fork"
      "increment_var": "PORT",
      "env_production": {
        "NODE_ENV": "production",
        "PORT": 3001,
        "ENDPOINT": "localhost:8081/",
      }
    }
  ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...