Node.js应用程序无法访问内部Web服务

时间:2019-10-10 16:21:48

标签: node.js nginx redhat pm2

我在同一台机器上运行两个Web服务。第一个是nodejs应用api网关,在fork模式下与PM2一起运行,在nginx上,我使上游向Internet公开了端口3000,并将端口3001中的PM2节点公开了。

我的第二个应用程序是运行在端口8081(不暴露于Internet)上的Java Web服务,nodejs应用程序网关必须过滤所有传入的请求,但我的nodejs应用程序无法访问其他服务。

如果我将Java Web Service公开到互联网(公共ip和端口)并在本地计算机上运行我的nodejs应用程序,则nodejs应用程序可以访问另一个Web服务,但是在生产中无法在同一台计算机上运行这些服务,我认为我的NGINX配置中缺少某些内容。

我尝试将nodejs环境in设置为localhost:8081 / 127.0.0.1:8081/,但是nodejs应用无法访问另一个Web服务。

NGINX配置

ENDPOINT

PM2环境配置,ENDPOINT这是Java中的另一个Web服务

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;
    }
}

0 个答案:

没有答案