Ошибка прокси при доступе к приложению - PullRequest
2 голосов
/ 05 января 2012

У меня есть прокси-сервер Apache между браузером и моим пользовательским веб-сервером.Поэтому после запуска веб-сервера я могу получить доступ к своему веб-приложению в течение 4-5 часов.После этого я получаю эту ошибку

Ошибка прокси-сервера Прокси-сервер получил неверный ответ от вышестоящего сервера.Прокси-сервер не смог обработать запрос GET /.

Причина: ошибка чтения с удаленного сервера

Чтобы снова получить доступ к веб-приложению, необходимо перезапустить веб-сервер.Я попытался проверить журнал, полученный от моего веб-сервера, и обнаружил только ошибку в этом журнале:

com.mysql.jdbc.CommunicationsException: сбой канала связи из-за основного исключения:

** НАЧАЛО ИСКЛЮЧЕННОГО ИСКЛЮЧЕНИЯ **

java.net.SocketException СООБЩЕНИЕ: Тайм-аут соединения

STACKTRACE:

java.net.SocketException: Время соединенияна java.net.SocketInputStream.socketRead0 (собственный метод) на java.net.SocketInputStream.read (SocketInputStream.java:146) на com.mysql.jdbc.util.ReadAheadInputStream.fill (ReadAheadInputStream.java:113) на com.mysql.jdbc.util.1910) на com.mysql.jdbc.MysqlIO.reuseAndReadPacket (MysqlIO.java:2304) на com.mysql.jdbc.MysqlIO.checkErrorPacket (MysqlIO.java:2803) на com.mysql.jdbc.MysqlIO.sendCommand (MysqlIO.java:1573) на com.mysql.jdbc.MysqlIO.sqlQueryDirect (MysqlIO.java:1665) на com.mysql.jdbc.Connection.execSQL (Connection.java:3170) на com.mysql.jdbc.Connection.execSQL (Connection.java:3099) на com.mysql.jdbc.Statement.execute (Statement.java:695) на hra.database.Pool.getConnection (Pool.java:62)

** END NESTED EXCEPTION **

Последний пакет, отправленный на сервер, был 925624 мс назад.

И я попытался исправить эту ошибку базы данных, но я все еще получаю вышеупомянутую ошибку прокси, поэтому, безусловно, информация журнала бесполезна.

Это то, что я получаю из журнала прокси-сервера Apache

(70007) Указанный тайм-аут истек: proxy: ошибка чтения строки состоянияс удаленного сервера

Кто-нибудь знает, в чем может быть проблема, или какие-либо полезные указатели, чтобы решить эту проблему?

Ответы [ 4 ]

1 голос
/ 16 января 2012
  1. Прокси-сервер Apache не работает, потому что customwebserver не отвечает. ваш
  2. customwebserver регистрирует сбой в ожидании ответа mysql. перезагрузки
  3. customwebserver исправляет это, так что MySQL не является проблемой. похоже, проблема в том, как ваш customwebserver обрабатывает свои подключения к mysql.

    мы можем увидеть ваш конфиг jdbc? у вас есть autoReconnect = true?

1 голос
/ 13 января 2012

Я вижу, что вы видите две ошибки тайм-аута соединения

  • Тайм-аут веб-сервера Apache Proxy при подключении к пользовательскому веб-серверу
  • Тайм-аут пользовательского веб-сервера при подключении к базе данных

Если тайм-аут, установленный на прокси-сервере, равен меньше , чем тайм-аут, установленный для соединения с базой данных, то до истечения времени ожидания соединения с прокси-сервером также произойдет тайм-аут.

  • В первую очередь решите все проблемы с подключением к БД и протестируйте свое приложение, напрямую подключившись к пользовательскому веб-серверу (а не через прокси-сервер).
  • Соблюдайте и идентифицируйте нормальное время отклика и максимальное время отклика.
  • Установите время прокси ProxyTimeout на значение, которое больше (максимальное время отклика) +(сетевая задержка)

Если возможно, вы можете поделиться настройками прокси-сервера, чтобы помочь вам в дальнейшем.

1 голос
/ 05 января 2012

Вероятно, происходит то, что ваш восходящий сервер отключается из-за неактивности. Найдите параметр на сервере, который управляет этим, и включите его.

0 голосов
/ 11 января 2012

Я думаю, что, как указано в предыдущем ответе, вы столкнулись с таймаутом, поднятым одним из участников вашей инфраструктуры:

  • Сервер
  • сетевое устройство (маршрутизаторы - умные звери, но брандмауэры тоже могут быть умными)

Вы настроили реальный пул соединений? Используя механизм биения сердца, чтобы сохранить живые связи? Это вызывает некоторый сетевой трафик, но позволяет избежать таких проблем? Попробуйте использовать инструмент захвата сети, чтобы иметь много журналов для анализа

НТН Джером

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...