nginx: कनेक्ट () विफल (111: कनेक्शन ने इनकार कर दिया) अपस्ट्रीम से कनेक्ट करते समय


16

मैं नीचे त्रुटि संदेश त्रुटि लॉग में देख रहा हूं, मैं सभी संसाधनों तक पहुंच सकता हूं, लेकिन मैं अनिश्चित हूं कि त्रुटि क्यों झंडी दे रही है।

त्रुटि:

[त्रुटि] १३३६ error # ०: * ४४ ९ कनेक्ट () विफल (१११: कनेक्शन ने इनकार कर दिया) अपस्ट्रीम से कनेक्ट करते समय, क्लाइंट: xxxx, सर्वर: myserver.com, अनुरोध: "GET / कहानियों / मेरा HTTP / १.१", अपस्ट्रीम। " http: // [:: 1]: 5000 / कहानियाँ / मेरा ", मेजबान:" myserver.com "

मेरा नग्नेक्स विन्यास

मैं 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] पर nodjs से जुड़ता है। नोडज शायद आईपीवी 4 पर सुन रहे हैं।

सेटिंग का प्रयास करें

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

जो लोग भ्रमित हैं, उनके localhostलिए127.0.0.1
कोटन

कोई विचार अगर मेरे पास लोकलहोस्ट के बजाय 127.0.0.1 है और यह हो रहा है?
केन

3
आपको यह देखना चाहिए कि क्या सेवा सुन रही है। कोशिश करें sudo netstat -pantuऔर देखें कि क्या सेवा वास्तव में बंदरगाह पर सुन रही है।
क्रिस्टोफर पेरिन

1
@ChristopherPerrin उस सलाह के लिए धन्यवाद। इसने मुझे यह महसूस करने में मदद की कि मेरा एक पूल इसके बंदरगाह पर नहीं सुन रहा था, और यह इसलिए निकला क्योंकि एक और पूल कॉन्फ़िगरेशन फिर से उसी नाम का उपयोग कर रहा था जिससे इसके कॉन्फ़िगरेशन को ओवरराइट किया गया
Robbie Averill

@RobbieAverill सुनकर अच्छा लगा कि यह जवाब अभी भी मददगार है
क्रिस्टोफर पेरिन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.