Node.js · Senior · Запитання 17 з 75
За балансувальником (наприклад, AWS ALB з idle timeout 60 с) клієнти іноді отримують 502. Яка поширена причина?
- ✓Правильна відповідь:
server.keepAliveTimeoutу Node коротший за idle timeout балансувальника, тож Node закриває з'єднання, які балансувальник ще перевикористовує - 2Node.js обмежує кожен процес 60 з'єднаннями
- 3Балансувальник не підтримує HTTP/1.1
Пояснення
Задайте keepAliveTimeout більшим за idle timeout балансувальника (а headersTimeout - ще більшим), щоб неактивні з'єднання завжди закривав балансувальник.