도커 컨테이너로 webapp을 구축하려고하는데 노드 패키지에 역방향 프록시로 Nginx를 실행하려고하면 연결이 거부됩니다. 그것은 nginx 서버 구성 문제 또는 도커 - 구성 문제를 구성하는 경우 잘 모르겠습니다. foo.com을 타격 할 때Nginx 연결이 거부되었습니다. 역방향 프록시로 노드 앱에 연결하려고 시도했습니다.
[error] 5#5: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 172.20.0.1, server: foo.com, request: "GET/HTTP/1.1", upstream: "http://127.0.0.1:7770/", host: "foo.com"
내가이 오류, 이상한 점은 포트 번호를 참조 할 때 내 응용 프로그램이 작동하므로 foo.com:7770이 응용 프로그램을 실행하는 것입니다.
내의 nginx 서버 설정 :
server {
listen 80;
server_name foo.com;
port_in_redirect off;
autoindex on;
location/{
proxy_pass http://127.0.0.1:7770;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
내 도커 파일을 작성 :
version: "2"
services:
nginx:
build: ./nginx
ports:
- "80:80"
depends_on:
- app
links:
- app
app:
build:
context: .
dockerfile: DockerFile
ports:
- "7770:7770"
links:
- mongo
depends_on:
- mongo
mongo:
image: mongo
ports:
- "27017:27017"
volumes_from:
- mongodata
depends_on:
- mongodata
mongodata:
image: tianon/true
volumes:
- /data/db
내 노드 Dockerfile (여기에 일부 중복 가지가있을 수 있습니다) :
FROM node:latest
ADD package.json /tmp/package.json
RUN cd /tmp && npm install
RUN mkdir -p /opt/app && cp -a /tmp/node_modules /opt/app/
WORKDIR /opt/app
ADD . /opt/app
EXPOSE 7770
CMD ["npm", "start"]
내 ngnix Dockerfile
0 NPM에 1,235,411,968,이 실행할 시작 :
app.get('*', function(req, res) {
res.sendFile(path.join(__dirname, 'index.html'));
});
app.listen(7770, function(err) {
if (err) {
console.log(err);
return;
}
console.log('Listening at http://localhost:7770');
});
이 고정 표시기에서 처음 실행, 그래서 내가 몇 가지를 뒤죽박죽 수 있습니다. 또한 foo.com을/private/etc/hosts에서 127.0.0.1로 지정했습니다.