Ошибка 324 пустой ответ на приложение, размещенное в AWS - PullRequest
5 голосов
/ 14 января 2012
Error 324 (net::ERR_EMPTY_RESPONSE): The server closed the connection without sending any data.

Я получаю эту ошибку на моем сервере Amazon EC2. Это не происходит на определенной странице на моем сайте. Я не думаю, что это ошибка браузера Chrome, потому что когда я открываю Safari, я не получаю ошибку, я получаю белую страницу Не уверен, что происходит или почему. В основном я ищу основные причины этой ошибки сервера. Любые идеи будут высоко оценены. Если вы хотите, чтобы я предоставил какую-либо конкретную информацию, дайте мне знать.

Если подумать, эта ошибка стала возникать, когда мы обновили драйвер mongo php до версии 1.2.7. Мысли? * * 1004

Ответы [ 3 ]

4 голосов
/ 08 мая 2012

Устранение неисправностей с curl из командной строки.Например, http://aws.amazon.com/

$ curl -i http://aws.amazon.com/
HTTP/1.1 200 OK
Date: Tue, 08 May 2012 19:55:14 GMT
Server: Server
x-amz-id-1: 0C8YK9MYJMCCSE8R09E5
x-amz-id-2: zx0HtU9Ub39tobXNBiMRLuE2mvnhQo4Kh1fyj0MdJcg=
Cache-Control: max-age=0
Expires: Tue, 08 May 2012 19:55:14 GMT
Content-Type: text/html; charset=UTF-8
Set-cookie: aws-session-id-time=2082758401l; path=/; domain=.amazon.com; expires=Tue, 01-Jan-2036 00:00:01 GMT
Set-cookie: aws-session-id=000-0000000-0000000; path=/; domain=.amazon.com; expires=Tue, 01-Jan-2036 00:00:01 GMT
Vary: User-Agent
Transfer-Encoding: chunked
...

-i включает заголовки.Вы должны увидеть действительный код состояния, а затем соотнести его с access_log и error_log.:)

Дайте мне знать, если это поможет!

0 голосов
/ 31 января 2013

На всякий случай, если кто-то еще увидит этот вопрос и ответ Тилля не помог.Я хотел бы отметить, что Elastic Load Balancer от Amazon жестко запрограммирован на 60 секунд.Отключить его невозможно.

https://forums.aws.amazon.com/thread.jspa?threadID=33427&start=0&tstart=50

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

Это может быть излишним для некоторых приложений, он полностью удаляет любую запущенную php-буферизацию и сбрасывает данные на веб-сервер.В дополнение к этому необходимо отключить GZIP на веб-сервере (apache или другом).

Сценарий возвращает довольно большой объем данных, около 64 000 отдельных пробелов.Последовательные одиночные пробелы игнорируются браузером, поэтому обычно довольно легко настроить страницу для использования этих функций без каких-либо проблем с отображением.

Вам также не нужно вызывать эту функцию очень часто.У вас есть 60 секунд, я обычно пытаюсь заставить мой работать каждые 10-15 секунд, но, поскольку он действительно спит одну секунду, не звоните слишком часто, иначе вы увидите значительное замедление на своей странице.

Вот функция:

function ELB_HeartBeat(){
echo str_repeat(' ',1024*64);

ob_implicit_flush(true);
while ( @ob_end_flush() );

@flush();
@ob_flush();

sleep(1); }
0 голосов
/ 29 сентября 2012

Просто хочу задокументировать мой ответ на эту абсолютно временную проблему. Для меня curl показал правильный HTML, но мой браузер не был.

Я быстро отключил Session Stickiness в консоли AWS для своего LoadBalancer, и теперь он работает просто отлично.

@ Till's curl совет блестящий :)

Редактировать: Как вы решаете эту проблему в будущем, когда вам нужна сессионная липкость? Я понятия не имею. Но на это должны быть ответы!

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