2010-08-26 20 views
6

Nasza strona udostępnia formularz przesyłania dla naszych członków, aby przesłać zdjęcia, które następnie przechowujemy i udostępniamy. Używamy prostego formularza POST, aby umożliwić przesyłanie, a następnie przetwarzanie plików za pomocą CGI.pm. Oto nasza konfiguracja Apache:Problem z przekroczeniem limitu czasu przesyłania pod 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 

jakiegoś powodu niewielki odsetek naszych użytkowników są wyświetlane w kwestii gdzie czasy wysyłania na zewnątrz i się nie powiedzie. Oto, co podano w naszych logach Apache na niepowodzenie:

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

Na początku myśleliśmy, że to może być spowodowane nie mając $ CGI :: POST_MAX ustawiony zbyt nisko, tak duże zdjęcia były odrzucane. Nawet po zwiększeniu tego do 100 MB nadal występuje. Nie możemy powtórzyć problemu i wydaje się, że nie ma żadnych rymów ani przyczyn, dla których użytkownicy mają problemy, ponieważ dzieje się to w różnych przeglądarkach, systemach operacyjnych itp. Nie jesteśmy również pewni, czy jest to problem związany z Perl lub do naszych ustawień Apache.

Doceniam wszelkie porady dotyczące przyczyn tego problemu oraz sugestie dotyczące rozwiązania problemu. Z góry dziękuje za twoją pomoc!

+0

Czy można replikować problem konsekwentnie dla tego samego użytkownika przesyłającego to samo zdjęcie? są użytkownicy w intranecie lub Internecie (kieruję się tym, że może to być tylko problem z siecią). – DVK

+0

To bardzo często, że ten sam użytkownik będzie próbował przesłać ten sam plik wiele razy. Użytkownicy to użytkownicy Internetu. –

+0

@RussellC. Czy byłeś w stanie rozwiązać ten problem? Mam do czynienia z czymś podobnym w tej chwili i nie mogę znaleźć rozwiązania. – Alex

Odpowiedz

0

Możesz spróbować zwiększyć ustawienie "Limit czasu" w konfiguracji Apache'a, na wypadek gdyby to była sieć mająca powolne wzrosty.

Zobacz też: http://www.mail-archive.com/[email protected]/msg00457.html - według tego posta może być ograniczenie do 64 MB, chociaż nie widzę żadnych potwierdzających dowodów.

także zobaczyć ten przykład, w jaki sposób ustawić odczytać limitu: http://permalink.gmane.org/gmane.comp.apache.mod-perl/24260

+0

KeepAlive jest włączone, więc nie sądziłem, że to będzie problem. MaxKeepAliveRequests jest obecnie ustawiony na 100. Czy sugerowana wartość powinna wzrosnąć? Jeśli nie, co konkretnie w Apache uważasz, że powinniśmy zwiększyć i co ważniejsze - dlaczego? –

+0

Po prostu zauważyłem, że zmienna Timeout z ustawiona jest na 200. Być może o to właśnie mówiłeś. Jest niski lub wysoki. Co byś polecił zmienić? –

+0

@Russel - ten ostatni. Koniec czasu. Ponieważ są to użytkownicy Internetu, a pliki są duże, 200 może być winowajcą, ale nie w 100% - spróbuj się zmienić, powiedzmy 400 i zobacz, czy średnia liczba takich błędów spadnie w ciągu kilku dni. – DVK

1

„reset połączenia Peer” często oznacza, że ​​użytkownik przestał czekać na przesyłanie do ukończenia przez naciśnięcie zatrzymanie lub przechodząc dalej.

Powiązane problemy