Re: request uri обработка директорий
iks
nginx-forum at nginx.us
Sat Jun 13 13:54:39 UTC 2015
Не помогало это через location.
Решил проблему переноса нужной информации в аргумент, теперь вот так
нормально меняет порт и директорию ROOT.
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_path 8000;
if ( $args ~* (.*)server=dir ) {
set $port_path 8001;
set $root_path /home/user/public_html/site.ru/dir;
}
if ( $args ~* (.*)server=dir1 ) {
set $port_path 8002;
set $root_path /home/user/public_html/site.ru/dir1;
}
rewrite ^(.*)/(dir|dir1)(.*) $1$3 last;
location ~*
^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|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_path;
proxy_redirect http://127.0.0.1:$port_path/ /;
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_path;
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.js через
один поддомен.
P.S. Можно похоже и с обрабрткой директории запроса, но пробовал через $uri
и $request_uri ни чего не выходило, может другую переменую нужно
обрабатывать.
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,259583,259595#msg-259595
Подробная информация о списке рассылки nginx-ru