ฉันได้รับข้อความนั้นทุกครั้งที่คำขอของฉันใช้เวลานานกว่า 2 นาทีจึงจะเสร็จสิ้น เบราว์เซอร์จะยกเลิกการเชื่อมต่อกับคำขอ แต่คำขอในแบ็กเอนด์จะดำเนินต่อไปจนกว่าจะเสร็จสิ้น เซิร์ฟเวอร์ (ASP.NET Web API ในกรณีของฉัน) ไม่พบการตัดการเชื่อมต่อ
หลังจากค้นหาทั้งวันในที่สุดฉันก็พบคำตอบนี้โดยอธิบายว่าหากคุณใช้การกำหนดค่าพร็อกซีจะมีระยะหมดเวลาเริ่มต้น 120 วินาที (หรือ 2 นาที)
ดังนั้นคุณสามารถแก้ไขการกำหนดค่าพร็อกซีของคุณและตั้งค่าเป็นสิ่งที่คุณต้องการ:
{
"/api": {
"target": "http://localhost:3000",
"secure": false,
"timeout": 6000000
}
}
ตอนนี้ฉันใช้ agentkeepalive เพื่อให้ใช้งานได้กับการพิสูจน์ตัวตน NTLMและไม่รู้ว่าการหมดเวลาของตัวแทนไม่มีส่วนเกี่ยวข้องกับการหมดเวลาของพร็อกซีดังนั้นจึงต้องตั้งค่าทั้งสองอย่าง ฉันใช้เวลาสักพักกว่าจะรู้ตัวดังนั้นนี่คือตัวอย่าง:
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(',');
}
}
};
err
วัตถุทั้งหมด- ไม่เพียง แต่message