2016-04-14 27 views
2

landing.example.com:10000 adresinde, 10000 bağlantı noktasını görüntüleyen bir Docker konteyner olan iyi çalışan bir web sunucusu var. IP adresi 172.17.0.2'dur.Nginx 502 hatalı ağ geçidi verdiğinde nasıl hata ayıklanır?

İstediğim bağlantı noktası, 80 numaralı bağlantı noktasında bir nginx ters proxy kullanıyor ve ziyaretçiyi ziyaret ettikleri URL'ye bağlı olarak farklı Docker kapsayıcılarına gönderiyor. Bunu yaparken

server { 
    listen 80; 
    server_name landing.example.com; 

    location/{ 
     proxy_pass http://172.17.0.2:10000/; 
    } 

    access_log /landing-access.log; 
    error_log /landing-error.log info; 
} 

, ben 502 Bad Gateway almak ve günlük

2016/04/14 16:58:16 [error] 413#413: *84 connect() 
failed (111: Connection refused) while connecting to upstream, client: 
xxx.xxx.xxx.xxx, server: landing.example.com, request: "GET/HTTP/1.1", 
upstream: "http://172.17.0.2:10000/", host: "landing.example.com" 

cevap

2

bu deneyin diyor ki:

İşte
upstream my_server { 
    server 172.17.0.2:10000; 
} 

server { 
    listen 80; 
    server_name landing.example.com; 
    location/{ 
     proxy_pass     http://my_server; 
     proxy_set_header   Host $host; 
     proxy_set_header   X-Real-IP $remote_addr; 
     proxy_http_version   1.1; 
     proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_set_header   X-Forwarded-Proto http; 
     proxy_redirect    http:// $scheme://; 
    } 
} 

akış yukarı sunucuyu define (IP veya ana makine ile sunucu) ve başlıkların iletildiğinden emin olun, böylece sunucu yanıt verenin kime cevap vereceğini bilir.