Re: поведение error page

Maxim Dounin mdounin на mdounin.ru
Чт Апр 19 16:42:26 UTC 2012


Hello!

On Sat, Apr 14, 2012 at 09:01:31AM -0400, reaper wrote:

> давно не повторялось, сейчас вот опять
> началось :)
> 
> на клиенте вижу ответ
> HTTP/1.1 504 Gateway Time-out
> 
> хотя в error_page прописано 503

[...]

> 2012/04/14 12:52:10 [error] 11906#0: *3332442 upstream timed out (110:
> Connection timed out) while reading response header from upstream,
> client: 192.168.98.15, server: my.fs.test, request: "GET
> /f/free+free+free+free HTTP/1.1", upstream:
> "http://192.168.98.175:80/f/free+free+free+free", host: "my.fs.test"
> 2012/04/14 12:52:10 [debug] 11906#0: *3332442 finalize http upstream
> request: 504

[...]

> 2012/04/14 12:52:10 [debug] 11906#0: *3332442 http special response:
> 504, "/f/free+free+free+free?"
> 2012/04/14 12:52:10 [debug] 11906#0: *3332442 internal redirect: "/?"

Раз ошибка, ушли по error_page.

[...]

> 2012/04/14 12:52:30 [error] 11906#0: *3332442 upstream timed out (110:
> Connection timed out) while reading response header from upstream,
> client: 192.168.98.15, server: my.fs.test, request: "GET
> /f/free+free+free+free HTTP/1.1", upstream:
> "http://192.168.98.175:80/f/free+free+free+free", host: "my.fs.test"

[...]

> 2012/04/14 12:52:30 [debug] 11906#0: *3332442 http finalize request:
> 504, "/?" a:1, c:1
> 2012/04/14 12:52:30 [debug] 11906#0: *3332442 http special response:
> 504, "/?"
> 2012/04/14 12:52:30 [debug] 11906#0: *3332442 http set discard body

И снова ошибка.  По error_page не ушли, т.к. это будет рекурсия (а 
она по умолчанию запрещена).  При повторных ошибках при обработке 
error_page результирующий код ответа сейчас возвращается от 
последней ошибки.

Самый правильный подход к решению данной проблемы - держать 
статические страницы для ошибок.  Заодно решает множество других 
проблем.

Maxim Dounin



Подробная информация о списке рассылки nginx-ru