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

Den Ivanov dsdiv at vladnet.ru
Fri Jun 13 10:34:47 MSD 2008


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

 

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

 

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 at sysoev.ru [mailto:owner-nginx-ru at sysoev.ru] On Behalf
Of Igor Sysoev
Sent: Friday, June 13, 2008 5:07 PM
To: nginx-ru at sysoev.ru
Subject: Re: переопределение error_page на уровне server и location

 

On Fri, Jun 13, 2008 at 08:34:27AM +0300, test157 at smail.ee 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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20080613/d9a81ead/attachment.html>


More information about the nginx-ru mailing list