nginx: connect () không thành công (111: Từ chối kết nối) trong khi kết nối với thượng nguồn


16

Tôi liên tục thấy thông báo lỗi dưới đây trong nhật ký lỗi, tôi có thể truy cập tất cả các tài nguyên nhưng tôi không chắc tại sao lỗi lại bị gắn cờ.

lỗi:

[lỗi] 13368 # 0: * 449 kết nối () không thành công (111: Từ chối kết nối) trong khi kết nối với thượng nguồn, máy khách: xxxx, máy chủ: myserver.com, yêu cầu: "GET / truyện / khai thác HTTP / 1.1", ngược dòng: " http: // [:: 1]: 5000 / truyện / của tôi ", máy chủ lưu trữ:" myserver.com "

Cấu hình Nginx của tôi

Tôi đang chuyển kết nối tới một node.jscụm chạy trên cổng 5000. Không thể thấy những gì tôi đã bỏ lỡ?

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";
    }
}

Đó là năm 2015 và tôi đang gặp vấn đề tương tự. mỗi khi có thông báo websocket bị lỗi này sẽ xuất hiện trong nhật ký.
r3wt

Câu trả lời:


19

Nginx kết nối với các nút trên vòng lặp IPv6 [:: 1]. nodejs có lẽ chỉ nghe trên IPv4.

Thử cài đặt

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

Đối với những người bối rối, hãy đổi localhostthành127.0.0.1
kouton

Bất kỳ ý tưởng nếu tôi có 127.0.0.1 thay vì localhost và điều này tiếp tục xảy ra?
Ken

3
Bạn nên kiểm tra nếu dịch vụ đang lắng nghe. Hãy thử sudo netstat -pantuvà xem nếu dịch vụ thực sự lắng nghe trên cổng.
Christopher Perrin

1
@ChristopherPerrin cảm ơn vì lời khuyên đó. Nó giúp tôi nhận ra rằng một trong các nhóm của tôi không nghe trên cổng của nó và hóa ra là do một cấu hình nhóm khác đang sử dụng lại cùng tên để ghi đè lên cấu hình của nó
Robbie Averill

@RobbieAverill rất vui khi biết rằng câu trả lời này vẫn hữu ích
Christopher Perrin
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.