2016-07-15 114 views
3

我試圖使用Nginx的反向代理。我對端口3333和Golang應用在端口3334 1個的Node.js應用程序在調用到Golang API,我在/var/log/nginx/error.log看到這條消息:Nginx:(111:連接被拒絕),同時連接到上游

2016/07/15 10:18:36 [error] 4835#0: *131 connect() failed (111: Connection refused) while connecting to upstream, 
client: 27.69.66.52, 
server: video1.techmaster.vn, 
request: "GET /stream/dash/5klRyUnPVyDWouxscIT42uWs5JL4x9nHFol9ecg5g0GLf7aTaI/eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJwcmljZSI6MCwiZnVsbCI6dHJ1ZSwidmlkZW8iOnsiaWQiOjEwODcsIm5hbWUiOiJtcDNaaW5nU2hvd0RhdGEtMjY0Lm1wNCIsInBhdGgiOiIvbWVkaWEvODIxNyJ9LCJhdHRhY2htZW50IjpbXSwiZXhwIjoxNDY4NTU2NTE2fQ.qc9d_XPhCepHf5iJyf9ORBPOo3pTvF8Th_VMadNSM2o/43f_vid_19.m4s HTTP/1.1", 
upstream: "http://127.0.0.1:3334/stream/dash/5klRyUnPVyDWouxscIT42uWs5JL4x9nHFol9ecg5g0GLf7aTaI/eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJwcmljZSI6MCwiZnVsbCI6dHJ1ZSwidmlkZW8iOnsiaWQiOjEwODcsIm5hbWUiOiJtcDNaaW5nU2hvd0RhdGEtMjY0Lm1wNCIsInBhdGgiOiIvbWVkaWEvODIxNyJ9LCJhdHRhY2htZW50IjpbXSwiZXhwIjoxNDY4NTU2NTE2fQ.qc9d_XPhCepHf5iJyf9ORBPOo3pTvF8Th_VMadNSM2o/43f_vid_19.m4s", 
host: "video1.techmaster.vn", 
referrer: "https://techmaster.vn/khoa-hoc-online/8217/lap-trinh-ios-swift/96/Location-Notification" 

我不知道從什麼的問題做。也許我在Nginx配置中犯了一些錯誤。這裏是我的Nginx的配置:

server { 
listen 80; 
server_name video1.techmaster.vn www.video1.techmaster.vn; 
return 301 https://$server_name$request_uri; 
} 
server { 
listen 443 spdy ssl; 
server_name video1.techmaster.vn www.video1.techmaster.vn; 
keepalive_timeout 30; 

# Allow upload video up to 100M 
client_max_body_size 100M; 

# Config SSL 
ssl on; 
ssl_certificate /etc/ssl/cert_chain.crt; 
ssl_certificate_key /etc/ssl/private/sv.video1.techmaster.vn.key; 
ssl_session_timeout 5m; 
ssl_session_cache shared:SSL:10m; 
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
ssl_ciphers "xxxxxxxxxx"; 
ssl_prefer_server_ciphers on; 
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;"; 
ssl_stapling on; 

location ~* /.*\.(xml)$  { 
    root /var/www/videos.techmaster.vn/public; 
    expires 7d; 
} 

location /stream/ { 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection "upgrade"; 
    proxy_http_version 1.1; 
    proxy_set_header X-Forwarded-For $remote_addr; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header Host $host; 
    proxy_pass http://127.0.0.1:3334; 

    set $cors ''; 

    if ($http_origin ~* (localhost|www\.techmaster\.vn|techmaster\.vn)) { 
     set $cors 'true'; 
    } 

    if ($cors = 'true') { 
     add_header 'Access-Control-Allow-Origin' "$http_origin"; 
     add_header 'Access-Control-Allow-Credentials' 'true'; 
     add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS'; 
     add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept, Range'; 
    } 
} 

location/{ 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection "upgrade"; 
    proxy_http_version 1.1; 
    proxy_set_header X-Forwarded-For $remote_addr; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header Host $host; 
    proxy_pass http://127.0.0.1:3333; 

    set $cors ''; 

    if ($http_origin ~* (localhost|www\.techmaster\.vn|techmaster\.vn)) { 
     set $cors 'true'; 
    } 

    if ($cors = 'true') { 
     add_header 'Access-Control-Allow-Origin' "$http_origin"; 
     add_header 'Access-Control-Allow-Credentials' 'true'; 
     add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS'; 
     add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept, Range'; 
    } 
} 
} 

回答

0

我已經編輯Nginx的配置和它的作品

server { 
    listen 80 default_server; 
listen [::]:80 default_server ipv6only=on; 

    listen 443 ssl; 

    server_name 192.168.1.10; 
    keepalive_timeout 30; 

# Config SSL 
ssl_certificate /etc/nginx/ssl/nginx.crt; 
    ssl_certificate_key /etc/nginx/ssl/nginx.key; 
ssl_session_timeout 5m; 
ssl_session_cache shared:SSL:10m; 
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4"; 
ssl_prefer_server_ciphers on; 
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;"; 
    ssl_stapling on; 

# Allow upload video up to 100M 
    client_max_body_size 100M; 

location ~* /.*\.(xml)$  { 
     root /var/www/videos.techmaster.vn/public; 
     expires 7d; 
    } 

    location /stream/* { 
     proxy_set_header Upgrade $http_upgrade; 
     proxy_set_header Connection "upgrade"; 
     proxy_http_version 1.1; 
     proxy_set_header X-Forwarded-For $remote_addr; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header Host $host; 
     proxy_pass http://127.0.0.1:3334; 

     set $cors ''; 

     if ($http_origin ~* (localhost|tech\.dev)) { 
       set $cors 'true'; 
     } 

     if ($cors = 'true') { 
       add_header 'Access-Control-Allow-Origin' "$http_origin"; 
       add_header 'Access-Control-Allow-Credentials' 'true'; 
       add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS'; 
      add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept, Range'; 
     } 
    } 

    location/{ 
     proxy_set_header Upgrade $http_upgrade; 
     proxy_set_header Connection "upgrade"; 
     proxy_http_version 1.1; 
     proxy_set_header X-Forwarded-For $remote_addr; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header Host $host; 
     proxy_pass http://127.0.0.1:3333; 

    set $cors ''; 

     if ($http_origin ~* (localhost|tech\.dev)) { 
       set $cors 'true'; 
     } 

    if ($cors = 'true') { 
       add_header 'Access-Control-Allow-Origin' "$http_origin"; 
       add_header 'Access-Control-Allow-Credentials' 'true'; 
       add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS'; 
      add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept, Range'; 
    } 
    } 
} 
+0

你能告訴我你到底發生了什麼變化,爲什麼?我有一個類似的問題與不同的應用程序。 – Folatt

+0

@Folatt我將'location/stream /'改成了'location/stream/*' –

+0

謝謝。看起來這個解決方案不適用於我。 – Folatt

1

而與節點平臺配置AWS我已經得到了同樣的問題。

我用3000端口來啓動應用程序。 當我改變我的端口到8081它的工作。

相關問題