连接被拒绝错误 Nginx Nodejs

连接被拒绝错误 Nginx Nodejs

我正在按照 YouTube 教程了解如何在 Docker 上配置 Nginx 服务器,但出现了以下错误

proxy_1 | 2018/07/14 22:18:24 [错误] 5#5:*1 connect()连接到上游时失败(111:连接被拒绝),客户端:172.19.0.1,服务器:,请求:“GET / HTTP / 1.1”,上游:“http://127.0.0.1:49160/",主机:“localhost”

/docker_compose.yml

version: '3'
services:
  nodecluster:
        build: nodecluster
        ports:
        - "49160:8000"
  proxy:
    build: proxy
    ports:
    - "80:80"  

节点集群/Dockerfile

FROM node:8

# Create app directory
WORKDIR /usr/src/app

# Install app dependencies
# A wildcard is used to ensure both package.json AND package-lock.json are copied
# where available (npm@5+)
COPY package*.json ./

RUN npm install
# If you are building your code for production
# RUN npm install --only=production

# Bundle app source
COPY . .

EXPOSE 8000
CMD [ "npm", "start" ]

代理/Dockerfile

FROM nginx:alpine

RUN rm /etc/nginx/conf.d/*

COPY proxy.conf /etc/nginx/conf .d/

代理/proxy.conf

listen 80;
server {
    location / {
        proxy_pass http://127.0.0.1:49160;
    }
}

在此处输入图片描述

我搜索了 Google 并浏览了不同的论坛以寻找答案,无论我尝试什么,连接被拒绝错误仍然存​​在。该服务器已启动并正在运行,如果我直接使用 127.0.0.1:49160 / localhost:49160 访问它,它可以正常工作,但它永远不会从代理重定向到 127.0.0.1:49160,或者像我使用http://节点集群:49160/管他呢。

答案1

您的 nginx 正在尝试连接到localhost端口 49160,但您的 nodecluster 正在另一个容器上运行,该容器具有其他 IP 地址。

您需要找到 nginxproxy_pass指令的正确目的地并修复该语句。

相关内容