2017-08-23 91 views
0

當我使用nodejs代理髮生錯誤的網關502錯誤時,我需要NGINX刪除連接(即不答覆),我認爲這是錯誤444。當502錯誤時NGINX丟棄連接

原因是我們有遠程客戶端跨幾個國家遠程部署的代碼,該代碼查找從服務器沒有響應,並運行一些JavaScript代碼,等待頁面再次活躍。

不能變化對客戶端的代碼,所以需要的,如果在的NodeJS服務器已關閉,而不是與502網關回復的NGINX不回覆,這是我不知道最好的做法,但它是一個需要解決的問題。

這裏是我的位置配置:

location/{ 

    if (-f $document_root/error502.html) { 
    return 444; 
    } 

    proxy_pass http://localhost:800; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header Host $http_host; 
    proxy_set_header X-Forwarded-Proto $scheme; 
    proxy_buffering off; 
} 

這不是工作,我在解決它尋求幫助。

回答

0

試試這個:

location/{ 
    error_page 502 =444 /444-response 
    ... 
} 

location = /444-response { 
    return 444; 
} 
+0

輝煌,這樣的作品,非常感謝 – crankshaft