Автоматические поддомены и реврайты
tr00per
nginx-forum at nginx.us
Wed Oct 1 13:00:19 UTC 2014
Доброго времени суток.
Столкнулся с такой проблемой.
Есть основной домен project.local. Есть несколько служебных поддоменов:
m.project.local, media.project.local, login.project.local. Для каждого из
них прописаны свои реврайры. Сейчас пилим автоматическое создание поддоменов
для профилей пользователей и как вот тут и появилась проблема.
Запросы вида m.project.local, media.project.local, login.project.local
обрабатываются как нужно. Запрос anysubdomain.project.local тоже
отрабатывает как надо и реврайтит на
project.local/Script3.aspx?ArgURL=anysubdomain.
Как при этом заставить Nginx корректно реврайтить запрос типа
anysubdomain.project.local/name-i200 на
project.local/Script1.aspx?ArgID=200&ArgURL=name
Конфиг:
server {
listen 192.168.2.6:8080 default_server;
server_name ~(www|m|login).project.local project.local;
include /etc/nginx/custom.conf.d/headers.conf;
include /etc/nginx/custom.conf.d/rewrite.conf;
location / {
proxy_pass http://webfarm;
}
}
server {
listen 192.168.2.6:8080;
server_name media.project.local;
include /etc/nginx/custom.conf.d/swift-rewrite.conf;
location /{
proxy_pass http://swift;
}
}
server {
listen 192.168.2.6:8080;
server_name ~^(?<subdom>.+)\.project\.local$;
rewrite /([a-z0-9-]+)-i([0-9]+)(/?)$
/Script1.aspx?ArgID=$2&ArgURL=$1 last;
rewrite ^ http://www.vorotila.local/Script3.aspx?ArgURL=$subdom
last;
location / {
proxy_pass http://webfarm;
}
}
Заранее спасибо за подсказки.
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,253667,253667#msg-253667
Подробная информация о списке рассылки nginx-ru