comet бэкенды и location /

igor.goncharenko nginx-forum на nginx.us
Вт Окт 25 09:23:13 UTC 2011


Hi!

Есть у меня несколько comet бэкендов,

upstream  comet_be  {
  server  comet_be1 :7045;
  server  comet_be2 :7045;
  }

upstream  main_be  {
  server  main_be1:80;
  }


#root 

  location /
  {
   proxy_pass          http://main_be;
  }


#описаны как:
 
    location ~* ^/cm-.* {
           proxy_pass         http://comet_be;

           server_name_in_redirect off;
           proxy_redirect off;
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_set_header X-Forwarded-Protocol $scheme;
           proxy_next_upstream   error  timeout;

           proxy_max_temp_file_size 0;

           client_max_body_size       10m;
           client_body_buffer_size    128k;

           proxy_buffering            off;
     }

Так вот. Запрос обрабатывается в  location ~*
^/cm-.*, однако, если оба комет сервера
лежат, запрос после 2-х connection refused,
уходит на location / чего бы не хотелось (nginx
1.0.8).  То-есть, получается что location не
валидный и nginx использует /. Однако, как
мне просто отдать клиенту ошибку и не
пытаться использовать / location?


access.log ($upstream_addr):
10.0.0.10:7045 : 10.0.0.11:7045 : 10.0.0.254:80

---
Igor

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,217270,217270#msg-217270



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