nginx : 업스트림에 연결하는 동안 connect () 실패 (111 : 연결 거부)


16

오류 로그에 아래 오류 메시지가 계속 표시되면 모든 리소스에 액세스 할 수 있지만 오류가 표시되는 이유는 확실하지 않습니다.

오류:

[오류] 13368 # 0 : 업스트림에 연결하는 동안 * 449 connect () 실패 (111 : 연결 거부), 클라이언트 : xxxx, 서버 : myserver.com, 요청 : "GET / stories / mine HTTP / 1.1", 업스트림 : " http : // [:: 1] : 5000 / stories / mine ", 호스트 :"myserver.com "

내 Nginx 설정

node.js포트 5000에서 실행 되는 클러스터로 연결을 전달하고 있습니다. 놓친 항목을 볼 수 없습니까?

upstream api {
    server localhost:5000;
}

server {
    listen 80; 
    server_name myserver.com;
    root /home/user/_api;


# Logging 

error_log /home/user/log/api.error.log notice;
    location / {
        proxy_redirect off;
        proxy_set_header   X-Real-IP            $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;
        proxy_set_header   Host                   $http_host;
        proxy_set_header   X-NginX-Proxy    true;
        proxy_set_header   Connection "";
        proxy_cache one;
        proxy_cache_key sfs$request_uri$scheme;
        proxy_pass         http://api;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

2015 년 이며이 같은 문제가 있습니다. 웹 소켓 메시지가 삭제 될 때마다이 오류가 로그에 나타납니다.
r3wt

답변:


19

Nginx는 IPv6 루프백 [:: 1]에서 nodj에 연결합니다. nodejs는 아마도 IPv4에서 듣고있을 것입니다.

설정을 시도

upstream api {
    server 127.0.0.1:5000;
}
...

혼동하는 사람들에게, 변화 localhost127.0.0.1
kouton

localhost 대신 127.0.0.1이 있고 아이디어가 계속 발생하면 어떤 아이디어가 있습니까?
Ken

3
서비스가 수신 중인지 확인해야합니다. 시도 sudo netstat -pantu및 서비스가 실제로 포트에서 수신되는 경우 본다.
Christopher Perrin

1
@ChristopherPerrin의 조언에 감사드립니다. 내 풀 중 하나가 포트에서 수신 대기 중이 아님을 인식하는 데 도움이되었으며 다른 풀 구성에서 동일한 이름을 다시 사용하여 해당 구성을 덮어 쓰기 때문인 것으로 나타났습니다
Robbie Averill

@RobbieAverill이 답변이 여전히 도움이된다는 것을 알게되어 반갑습니다
Christopher Perrin
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.