2011-02-07 21 views
7

otrzymuję następujący błąd przerwami na moim serwerze:Apache Proxy Error

**Proxy Error** 
The proxy server received an invalid response from an upstream server. 
The proxy server could not handle the request GET /. 
Reason: Error reading from remote server 

dzienniki błędów pokazują, co następuje:

[Sun Feb 06 03:06:00 2011] [error] [client 82.43.154.57] proxy: Error reading from remote server returned by /login, referer: https://demo.XXXXX.us/ 
[Sun Feb 06 03:06:30 2011] [error] [client 82.43.154.57] (70007)The timeout specified has expired: proxy: error reading status line from remote server XXXXX.us 
[Sun Feb 06 03:06:30 2011] [error] [client 82.43.154.57] proxy: Error reading from remote server returned by/
[Sun Feb 06 03:13:31 2011] [error] [client 82.43.154.57] (70007)The timeout specified has expired: proxy: error reading status line from remote server XXXXX.us 
[Sun Feb 06 03:13:31 2011] [error] [client 82.43.154.57] proxy: Error reading from remote server returned by/

Czytałem wiele postów sugerujących ustawienia limitu czasu połączenia w tomcat i ustawienia środowiska w Apache. Mam ustawić następujące w httpd.conf:

<VirtualHost *> 
    SetEnv force-proxy-request-1.0 1 
    SetEnv proxy-nokeepalive 1 
</VirtualHost> 

Mam również ustawić następujące tomcat w server.xml:

<Connector port="9080" maxHttpHeaderSize="8192" 
       maxThreads="150" minSpareThreads="25" maxSpareThreads="75" 
       enableLookups="false" redirectPort="9443" acceptCount="100" 
       connectionTimeout="60000" disableUploadTimeout="true" /> 

Również, gdy wystąpi błąd, muszę zacząć nową przeglądarkę aby błąd zniknął, ponieważ nadal wyświetla się nawet podczas odświeżania. Po drugie, używam htaccess do przepisania adresu URL. Nie wiesz, czy to ma wpływ na błąd?

EDIT> Mój serwer działa na 150 MB wolnej pamięci w normalnym czasie i może spaść całkiem nisko, ale nie dokładnie w momencie wystąpienia powyższego błędu. Czy spowodowałoby to taki błąd?

Byłbym wdzięczny za wszelkie pomysły, które ludzie mają.

Dziękuję.

+0

Najpierw ustaw język serwera Apache, aby debugować i spróbować uzyskać więcej informacji o problemie. Po drugie, możesz mieć problem z pamięcią. Użyj [VisualVM] (http://java.net/projects/visualvm) i zobacz, jak długo trwa cykl GC. – erloewe

Odpowiedz

0

To był problem z Pear Mailer.

Używaliśmy aplikacji Pear Mailer, która używa kolejki do przesyłania wiadomości e-mail gotowych do wysłania za pomocą zadania cron. Wystąpił błąd w skrypcie Pear, który był wywoływany przy każdej akcji w naszej witrynie (tworzenie wpisów, wysyłanie wiadomości itp.). Pear zawiesza się, co z kolei spowodowało awarię przeglądarki, powodując powyższe błędy.

Wyłączenie Pear rozwiązało problem, a poprawienie kodu sprawiło, że działał ponownie.

Tak długo zajęło znalezienie problemu, ponieważ nigdy nie sądziliśmy, że firma Pear Mailer może spowodować taką reakcję.

0

mieliśmy podobny problem na naszym serwerze po awarii mysql, a jedynym rozwiązaniem było ponowne uruchomienie serwera.

+1

To naprawdę nie rozwiązuje problemu. Rozwiązuje to na krótką metę, ale uważam, że pytanie szuka bardziej trwałego rozwiązania. Czy próbowałeś czegoś, aby zdiagnozować podobny problem, zanim tylko zrestartujesz serwer? – Lipongo

+0

Mam ten sam problem teraz, otrzymując te błędy proxy w dzienniku Apache, a apache w pewnym momencie przestaje działać, nie wiesz dlaczego? wtedy, aby działało, muszę go ponownie uruchomić. Każda pomoc byłaby wdzięczna? – Ahsan

Powiązane problemy