NodeJS HTTP Response 兩分鐘斷線

在用NodeJS做file server的時候,遇到一個狀況就是: 如果檔案下載時間超過兩分鐘,連線就會自動斷掉。 解決方式很簡單,把timeout清掉就可以:
res.setTimeout(0);

問題的主因是nodejs裡的response物件有寫死的兩分鐘timeout,所以任何的http response只要回應超過兩分鐘都會結束。不過其實會超過兩分鐘的response本身就很少,主要都是檔案下載。而檔案下載這類工作又不太應該放在nodejs裡面做(對我是anti-pattern orz),應該很少人會遇到這個問題。如果有遇到問題的,建議是在獨立的function裡面reset timeout就可以。