Я использую два веб-сервиса на одном компьютере. Первый - это шлюз 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/",
}
}
]
}