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