2010-08-26 84 views
6

我們的網站提供上傳表單,供會員上傳照片,然後我們將其存儲並允許他們分享。我們使用簡單的POST形式啓用上載,然後使用Perl的CGI.pm處理文件。這裏是我們的Apache設置:在Apache/Perl下上傳超時問題

Apache/2.0.63 (Unix) mod_ssl/2.0.63 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 

對於我們的用戶由於某些原因,很小的比例正在運行到一個問題,即上傳超時而失敗。以下是報告在我們的Apache日誌失敗:

(104)Connection reset by peer: Error reading request entity data, referer: http://domain.com/upload/photo 

起初我們認爲這可能是由於不具有$ CGI :: POST_MAX設置得低,所以大照片都被拒絕。即使將其增加到100 MB,它仍然在發生。我們無法複製這個問題,因爲在不同的瀏覽器,操作系統等中發生這些問題,因此用戶遇到問題似乎沒有任何押韻或原因。我們也不確定這是否與以下問題有關Perl或我們的Apache設置。

我很感激任何可能導致這種情況發生的建議以及如何解決問題的建議。在此先感謝您的幫助!

+0

您是否可以爲上傳相同圖片的同一用戶持續複製該問題?是內聯網或互聯網上的用戶(我在駕駛的是它可能只是一些網絡問題) – DVK 2010-08-26 21:43:16

+0

這是很常見的同一用戶將嘗試多次上傳相同的文件。用戶是互聯網用戶。 – 2010-08-26 22:06:02

+0

@RussellC。你能解決這個問題嗎?我目前正在處理類似的問題,但無法找到解決方案。 – Alex 2012-07-31 08:45:35

回答

0

您可以嘗試在Apache配置中增加「超時」設置,以防止網絡出現緩慢的尖峯。

此外,請參閱:http://www.mail-archive.com/[email protected]/msg00457.html - 根據該帖子可能有64MB的限制,雖然我沒有看到任何確鑿的證據。

此外,請參閱如何設置讀取限制這個例子:http://permalink.gmane.org/gmane.comp.apache.mod-perl/24260

+0

KeepAlive已啓用,所以我不認爲這會是一個問題。 MaxKeepAliveRequests目前設置爲100.這是你建議我們應該增加的值嗎?如果不是的話,你認爲我們應該增加哪些具體的Apache,更重要的是 - 爲什麼? – 2010-08-26 22:14:05

+0

我剛剛注意到Timeout變量設置爲200.也許這就是你所指的。這是低或高。你會推薦將其改爲? – 2010-08-26 22:15:46

+0

@魯塞爾 - 後者。時間到。由於這些是互聯網用戶和文件很大,200可能是罪魁禍首,儘管不是100%肯定如此 - 嘗試改變,比如說400,看看像這樣的平均錯誤在幾天內下降 – DVK 2010-08-27 02:15:12

1

「連接被對方​​復位」通常表示用戶停止等待上傳擊中停止或導航遠離完成。