ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: comet бэкенды и location /



On Tue, Oct 25, 2011 at 05:23:13AM -0400, igor.goncharenko wrote:
> 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-.* {

Вот это можно заменить так:

-     location ~* ^/cm-.* {
+     location ^~  /cm- {

Или, если больше нет locaiton'ов с регулярными выражениями, то так:

      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

Скорее всего, где-то стоит proxy_intercept_errors on:
http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_intercept_errors


-- 
Игорь Сысоев
http://sysoev.ru

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.