Re: request uri обработка директорий

Dmitriy Lyalyuev dmitriy at lyalyuev.info
Fri Jun 12 13:30:47 UTC 2015


У меня нет проектов на node.js и проверить ваш конфиг я не могу, но 
что-то типа:

location / {
   location ~ ^(.*)/economy {
     proxy_pass http://127.0.0.1:8000;
     ...
   }

   location ~ ^(.*)/dir1 {
     proxy_pass http://127.0.0.1:8001;
     ...
   }
}

Это вполне должно работать. Вызывать на каждый запрос if не имеет смысла 
- http://wiki.nginx.org/IfIsEvil
Если что-то не работает или работает не так, как вы того ожидаете - 
стоит включить debug лог и посмотреть почему все идет не так.

12.06.2015 16:10, iks пишет:
> Показываю файл полностью. И толку там от этих
>
>
> server {
>      server_name node.site.ru www.node.site.ru;
>      listen *:80;
>      disable_symlinks if_not_owner from=$root_path;
>      index index.htm index.html index.shtml index.php index.phtml;
>      set $root_path /home/user/public_html/site.ru;
>      set $port_uri 8000;
>
>      if ( $request_uri ~ ^(.*)/economy(.*)$ ) {
>          set $port_uri 8001;
>          set $root_path /home/user/public_html/site.ru/economy;
>      }
>      if ( $request_uri ~ ^(.*)/dir(.*)$ ) {
>          set $port_uri 8002;
>          set $root_path /home/user/public_html/site.ru/dir;
>      }
>      if ( $request_uri ~ ^(.*)/dir1(.*)$ ) {
>          set $port_uri 8003;
>          set $root_path /home/user/public_html/site.ru/dir1;
>      }
>      rewrite ^(.*)/(economy|dir|dir1)(.*) $1$3 last;
> 	
>      location ~*
> ^.+\.(html|htm|jpg|jpeg|gif|png|svg|js|css|mp3|mp4|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$
> {
>          root $root_path;
>          access_log /home/iks/logs/httpd-logs/node.rusdeb.ru.access.log;
>          error_page 404 = @fallback;
>      }
>      location / {
>          proxy_pass http://127.0.0.1:$port_uri;
>          proxy_redirect http://127.0.0.1:$port_uri/ /;
>          proxy_set_header Host $host;
>          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
>          proxy_set_header X-Forwarded-Proto $scheme;
>          proxy_set_header X-Real-IP $remote_addr;
>      }
>      location @fallback {
>          proxy_pass http://127.0.0.1:$port_uri;
>          proxy_set_header Host $host;
>          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
>          proxy_set_header X-Forwarded-Proto $scheme;
>          proxy_set_header X-Real-IP $remote_addr;
>      }
> }
>
> этот поддомен полностью отрабатывает Node. Пробовал через location, запросы
> к серверу идут, но не грузится socket.io/socket.io.js, а без него клиент не
> может установить связь. Поэтому и оптимальный вариант поменять порт и
> директорию ROOT, а остальной конфиг оставлять без изменений
>
> Posted at Nginx Forum: http://forum.nginx.org/read.php?21,259583,259587#msg-259587
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru

-- 
Dmitriy Lyalyuev
DevOps
+380665322962
https://dmitriy.lyalyuev.info



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