ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: переопределение error_page на уровне ser ver и location



Здравствуйте!

 

Еще одна странность с ошибками – если в этом конфиге:

 

error_page 400 /error/404.html

#все остальные коды ошибок

error_page 504 /error/504.html

 

location /error {

internal;

recursive_error_pages on;

error_page 404 http://error.ru$uri

}

 

Я определяю recursive_error_pages внутри location, то страницы ошибок с сервера error.ru не берутся, а если на уровне сервера – берутся.

В чем тут дело?

 

-----Original Message-----
From: owner-nginx-ru@xxxxxxxxx [mailto:owner-nginx-ru@xxxxxxxxx] On Behalf Of Igor Sysoev
Sent: Friday, June 13, 2008 5:07 PM
To: nginx-ru@xxxxxxxxx
Subject: Re:
переопределение error_page на уровне server и location

 

On Fri, Jun 13, 2008 at 08:34:27AM +0300, test157@xxxxxxxx wrote:

 

> столкнулся с такой ситуацией, что некоторые ошибки - точнее их

> определение в error_page можно делать только на уровне server, иначе

> в случае определения их в location - переопределение не сработает,

> т.е. будет выдана все равно страничка дефолтовая nginx. простой пример это

> запрос по схеме http к SSL серверу. если мы переопределим error_page

> для этой ошибки внутри location / {error_page 497 /497.html;} то все

> равно мы получим дефолтовую страничку nginx'а, а если определение

> опишем в server {...} то получим уже свою.

>

> я нашел список всех ошибок в nginx:

> #define NGX_HTTP_BAD_REQUEST               400

> #define NGX_HTTP_UNAUTHORIZED              401

> #define NGX_HTTP_FORBIDDEN                 403

> #define NGX_HTTP_NOT_FOUND                 404

> #define NGX_HTTP_NOT_ALLOWED               405

> #define NGX_HTTP_REQUEST_TIME_OUT          408

> #define NGX_HTTP_CONFLICT                  409

> #define NGX_HTTP_LENGTH_REQUIRED           411

> #define NGX_HTTP_PRECONDITION_FAILED       412

> #define NGX_HTTP_REQUEST_ENTITY_TOO_LARGE  413

> #define NGX_HTTP_REQUEST_URI_TOO_LARGE     414

> #define NGX_HTTP_UNSUPPORTED_MEDIA_TYPE    415

> #define NGX_HTTP_RANGE_NOT_SATISFIABLE     416

> #define NGX_HTTP_CLOSE                     444

> #define NGX_HTTP_OWN_CODES                 495

> #define NGX_HTTPS_CERT_ERROR               495

> #define NGX_HTTPS_NO_CERT                  496

> #define NGX_HTTP_TO_HTTPS                  497

> #define NGX_HTTP_CLIENT_CLOSED_REQUEST     499

> #define NGX_HTTP_INTERNAL_SERVER_ERROR     500

> #define NGX_HTTP_NOT_IMPLEMENTED           501

> #define NGX_HTTP_BAD_GATEWAY               502

> #define NGX_HTTP_SERVICE_UNAVAILABLE       503

> #define NGX_HTTP_GATEWAY_TIME_OUT          504

> #define NGX_HTTP_INSUFFICIENT_STORAGE      507  

>

> может быть кто то может сказать? (автор например;) какие из этих ошибок,

> нужно описывать на уровне не ниже сервера?

 

На уровне сервера могут возникнуть 400, 405 и 500.

411, 414, 495, 496 и 497 - только на уровне сервера.

 

 

--

Игорь Сысоев

http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.