web-dev-qa-db-ja.com

接続拒否エラーNginxNodejs

DockerでNginxサーバーを構成する方法についてこのYouTubeチュートリアルに従っていますが、次のエラーが発生します

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"  

nodecluster/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/proxy.conf

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

enter image description here

私はグーグルで検索し、接続を拒否したエラーがまだあるにもかかわらず、答えを探すためにさまざまなフォーラムを調べました。は稼働しており、127.0.0.1:49160/localhost:49160を使用して直接アクセスすると機能しますが、プロキシから127.0.0.1:49160などにリダイレクトされることはありません http:// nodecluster :49160 / または何でも。

1
Sachin Divakar

Nginxはlocalhostポート49160に接続しようとしていますが、ノードクラスターは他のIPアドレスを持つ別のコンテナーで実行されています。

Nginxの正しい宛先を見つける必要がありますproxy_passディレクティブとステートメントを修正します。

1
Tero Kilkanen