Welcome! Log In Create A New Profile

Advanced

Обработка ошибок в отдельном backendе.

January 19, 2010 08:37AM
Hi!

Хочу обрабатывать все 50x ошибки от бэкендов в отдельном бэкенде. В этом отдельном бэкенде хочу выводить разные custom страницы в зависимости от ошибки и location.

Сделал так:

--vhost config--

upstream backends {
server first.backend.com:80;
server second.backend.com:80;
}
server
{
listen bla-bla:80;
server_name bla-bla.com;

location /
{
proxy_pass http://backends;
}

# при 50x идем в именованный location
error_page 500 502 503 504 @error_pages_back;

{skip}

# именованый location с проксированием на бэкенд
# для обработки ошибки
location @error_pages_back {
proxy_intercept_errors on;
recursive_error_pages on;
proxy_pass http://127.0.0.1:9876;
proxy_set_header Host $host;
proxy_buffering off;
proxy_cache off;
}

}
---vhost config---


теперь конфиг бэкенда, в котором вопрос - как это сделать :)
Если я указываю return 50x в нужном location, то это работает, но нет связи с оригинальной ошибкой (это и понятно, что сказал в return, то и отдали). Однако, если я не использую return, то каким образом мне проверить в бэкенде номер оригинальной ошибки и потом вывести соответствующий 50x.html?

server
{
listen 127.0.0.1:9876;
server_name localhost;
index 500.html;
root /usr/local/www/error_pages;
access_log /var/log/nginx/errors/access.log main;
error_log /var/log/nginx/errors/error.log notice;


location /error_pages/ {
root /usr/local/www;
internal;
}
error_page 500 502 503 504 /error_pages/500.html;

location /
{
return 502;
}


location /xhtml
{
return 502;
error_page 500 503 504 /error_pages/xhtml500.html;
error_page 502 /error_pages/xhtml502.html;
}

}

PS. nginx-0.7.64
Subject Author Posted

Обработка ошибок в отдельном backendе.

igor.goncharenko January 19, 2010 08:37AM

Re: Обработка ошибок в отдельном backendе.

Andrew Kopeyko January 19, 2010 09:04AM

Re: Обработка ошибок в отдельном backendе.

Eugene Mychlo January 19, 2010 09:14AM

Re: Обработка ошибок в отдельном backendе.

igor.goncharenko January 20, 2010 05:22AM

Re: Обработка ошибок в отдельном backendе.

Eugene Mychlo January 20, 2010 06:00AM

Re: Обработка ошибок в отдельном backendе.

igor.goncharenko January 20, 2010 06:14AM

Re: Обработка ошибок в отдельном backendе.

Eugene Mychlo January 20, 2010 07:14AM

Re: Обработка ошибок в отдельном backendе.

igor.goncharenko January 20, 2010 07:53AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 146
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready