Dead backend detection

Maxim Dounin mdounin на mdounin.ru
Пт Ноя 25 17:06:50 UTC 2011


Hello!

On Fri, Nov 25, 2011 at 04:36:36PM +0200, Sergey Kobzar wrote:

> Что-то совсем запутался...
> 
> Ушел ответ с бэкенда, все ОК 200:
> 
> 207.241.237.226 - - [25/Nov/2011:14:28:11 +0000] "GET
> /Companies/t-d-advertising-marketing/0210001218642 HTTP/1.0" 200
> 62021 "-" "Mozilla/5.0 (compatible; archive.org_bot
> +http://www.archive.org/details/archive.org_bot)" "-"
> 
> ловлю его фронтэндом:
> 207.241.237.226 - - [25/Nov/2011:14:28:11 +0000] "GET
> /Companies/t-d-advertising-marketing/0210001218642 HTTP/1.0" 502
> 9574 "-" "Mozilla/5.0 (compatible; archive.org_bot
> +http://www.archive.org/details/archive.org_bot)" "-" 10.17.92.2:80
> 502 0.055
> 
> 502 ошибка. Последние 3 поля:
> - бэкенд
> - код ответа от бэкенда

Всмысле - $upstream_status?  Там будет 502, если например бекенд 
ответил некорректно.

Ну и ещё я бы рекомендовал лишний раз убедиться, что запрос 
действительно правильно идентифицирован.

> - время ответа
> 
> конфиг фронтенда:
> 
> upstream backend {
> 	server 10.17.92.2  max_fails=3 fail_timeout=300s;
> #	server 10.17.92.12 max_fails=3 fail_timeout=300s;
> #	server 127.0.0.1 backup;
> 	ip_hash;
>         }
> 
> server {
> 	listen 80 default;
> 	server_name localhost;
> 
> 	access_log /var/log/nginx/default_access.log main;
> 	error_log /var/log/nginx/default_error.log info;
> 
> 	location / {
> 		proxy_pass http://backend;
> #		proxy_next_upstream error timeout http_502 http_504;
> 
> 		proxy_set_header Host $host;
> 		proxy_set_header X-Real-IP $remote_addr;
> 		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
> 	}
> 
> 	error_page 502 504 /errors/500.html;
> 
> 	location ^~ /errors/ {
> 		root /home/www/localhost/htdocs;
> 		expires max;
> 	}
> }
> 
> Что не так?

Обычно помогает заглянуть в error_log.

Maxim Dounin



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