Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Суб домены на разных server..
Hello!
On Wed, Mar 05, 2014 at 10:37:29AM -0500, den68 wrote:
> Помогите с решением казалось-бы тривиальной задачи.
> Требуется чтоб домены типа *.abc.ru уходили на первый сервер, а домены
> home.*.abc.ru на второй, причем на втором должен быть proxy_pass, то есть
> редирект если я правильно понимаю не очень подходит, туда данные GET'ом
> передаются..
>
> 1.
> server {
> server_name
> abc.ru
> *.abc.ru;
> ....
>
> 2.
> server {
> server_name
> home.*.abc.ru; /знаю, так писать в реалии нельзя.. для
> наглядности../
> proxy_pass http://127.0.0.1:998877/;
>
> Пробовал различные варианты с PCRE - результатом не увенчалось:
>
> #~^home.*\.abc\.ru$;
> #server_name "^~home\.(?<domain>.+)$";
> #server_name "~^(home\.)?(?<domain>.+)$";
> #server_name "~^(home\.)?(.+)$";
> #server_name "~^home\.(?P<domain>.*)$";
>
> ..
> ка правильно-то ?
Если в конфиге есть server_name *.abc.ru, то регулярные выражения
к соответствующим именам применяться не будут, см. документацию:
http://nginx.org/r/server_name/ru
Если нужно, чтобы home.*.abc.ru и *.abc.ru обрабатывались в разных
блоках server{}, то надо переписать конфиг как-то так:
server {
server_name ~^home\..+\.abc\.ru$;
...
}
server {
server_name ~.+\.abc\.ru$;
...
}
Обращаю внимание, что порядок следования блоков server{} - важен,
используется первое совпавшее регулярное выражение.
--
Maxim Dounin
http://nginx.org/
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|