İsteklerimin tamamlanması 2 dakikadan fazla sürdüğünde tam olarak bu mesajı alıyordum. Tarayıcının istekle bağlantısı kesiliyordu, ancak arka uçtaki istek, tamamlanana kadar devam etti. Sunucu (benim durumumda ASP.NET Web API) bağlantıyı kesmeyi algılamıyor.
Bütün bir gün aradıktan sonra, sonunda bu cevabı buldum ve proxy yapılandırmasını kullanırsanız, varsayılan zaman aşımı 120 saniye (veya 2 dakika) olduğunu açıkladım .
Böylece, proxy yapılandırmanızı düzenleyebilir ve ihtiyacınız olana ayarlayabilirsiniz:
{
"/api": {
"target": "http://localhost:3000",
"secure": false,
"timeout": 6000000
}
}
Şimdi, NTLM kimlik doğrulaması ile çalışmasını sağlamak için agentkeepalive kullanıyordum ve aracının zaman aşımının proxy'nin zaman aşımı ile ilgisi olmadığını bilmiyordum, bu nedenle her ikisinin de ayarlanması gerekiyor. Bunu anlamam biraz zaman aldı, işte bir örnek:
const Agent = require('agentkeepalive');
module.exports = {
'/api/': {
target: 'http://localhost:3000',
secure: false,
timeout: 6000000, // <-- this is needed as well
agent: new Agent({
maxSockets: 100,
keepAlive: true,
maxFreeSockets: 10,
keepAliveMsecs: 100000,
timeout: 6000000, // <-- this is for the agentkeepalive
freeSocketTimeout: 90000
}),
onProxyRes: proxyRes => {
let key = 'www-authenticate';
proxyRes.headers[key] = proxyRes.headers[key] &&
proxyRes.headers[key].split(',');
}
}
};
errnesneyi günlüğe kaydetmeye çalışın - sadece değilmessage