Welcome! Log In Create A New Profile

Advanced

Re: server_name regexp

Anton Koldaev
September 20, 2010 03:18AM
Благодарю. Таки воспользовался советом.

2010/9/20 Igor Sysoev <igor@sysoev.ru>

> On Mon, Sep 20, 2010 at 10:47:13AM +0400, Anton Koldaev wrote:
>
> > Не хочется иметь длинную простыню с аналогичными конфигами. Тем более,
> если
> > в server-е множество локейшенов, то ведь всю простыню придется повторять
> в
> > каждом из server {}.
>
> Ну так всё равно можно применять прямую логику:
>
> server {
> server_name one.sitename.ru
> two.sitename.ru
> three.sitename.ru
> www.sitename.ru
> ;
> ...
> }
>
> server {
> listen 80 default_server
> server_name _;
> ...
> }
>
> > Обошел проблему выставив $host вместо $server_name:
> >
> > fastcgi_param SERVER_NAME $host;
> > >
> >
> > 2010/9/20 Igor Sysoev <igor@sysoev.ru>
> >
> > > On Mon, Sep 20, 2010 at 09:51:36AM +0400, Anton Koldaev wrote:
> > >
> > > > Привет
> > > > Имею вот такой server_name:
> > > >
> > > > > # Любой поддомен, кроме исключенных
> > > > > server_name ~(?<!^one|^two|^three|^www)\.sitename\.ru$;
> > > > >
> > > >
> > > > php-файлы проксируются на php-fpm:
> > > >
> > > > > location ~ \.(php|php4|php5|phtml)$ {
> > > > > fastcgi_pass 127.0.0.1:9000;
> > > > > try_files $fastcgi_script_name =404;
> > > > >
> > > > > fastcgi_param SERVER_NAME $server_name;
> > > > >
> > > > ...
> > > > >
> > > >
> > > > Проблема в том, что в SERVER_NAME попадает именно регексп, а не,
> > > например,
> > > > one.sitename.ru.
> > > > Реврайт, после которого фейлится:
> > > >
> > > > > 2010/09/20 09:42:20 [notice] 19176#0: *24 rewritten data:
> > > > > "/urlrewriteprepend.php", args: "logout=yes&CODE=alozovaya",
> client:
> > > > > 94.198.48.35, server: ~(?<!^one|^two|^three|^www)\.sitename\.ru$,
> > > request:
> > > > > "GET /blogs/one/index.php?logout=yes&CODE=one HTTP/1.1", host: "
> > > > > one.sitename.ru", referrer: "http://one.sitename.ru/"
> > > > >
> > > >
> > > > Что отдается в браузере:
> > > >
> > > > > Server not found
> > > > > Firefox can't find the server at ~(.
> > > > >
> > > >
> > > > В адресной строке:
> > > >
> > > > > http://
> > > > >
> ~%28/?%3C!^one|^two|^three|^www%29\.sitename\.ru$/?logout=yes&CODE=one
> > > > >
> > > >
> > > > Как через fastcgi_param передать верный servername?
> > >
> > > fastcgi_param SERVER_NAME $host;
> > >
> > > А зачем использовать инверсную логику - любой поддомен, кроме
> чего-то-там.
> > > Неужели не проще (легко читается, не правда ли ?) использовать прямую
> > > логику:
> > >
> > > server {
> > > server_name one.sitename.ru;
> > > }
> > >
> > > server {
> > > server_name two.sitename.ru;
> > > }
> > >
> > > server {
> > > server_name three.sitename.ru;
> > > }
> > >
> > > server {
> > > server_name www.sitename.ru;
> > > }
> > >
> > > server {
> > > listen 80 default_server;
> > > server_name _;
> > > }
> > >
> > >
> > >
> > > --
> > > Игорь Сысоев
> > > http://sysoev.ru
> > >
> > > _______________________________________________
> > > nginx-ru mailing list
> > > nginx-ru@nginx.org
> > > http://nginx.org/mailman/listinfo/nginx-ru
> > >
> >
> >
> >
> > --
> > Best regards,
> > Koldaev Anton
>
> > _______________________________________________
> > nginx-ru mailing list
> > nginx-ru@nginx.org
> > http://nginx.org/mailman/listinfo/nginx-ru
>
>
> --
> Игорь Сысоев
> http://sysoev.ru
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru
>



--
Best regards,
Koldaev Anton
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

server_name regexp

Anton Koldaev September 20, 2010 01:54AM

Re: server_name regexp

Igor Sysoev September 20, 2010 02:16AM

Re: server_name regexp

Anton Koldaev September 20, 2010 02:48AM

Re: server_name regexp

Igor Sysoev September 20, 2010 02:52AM

Re: server_name regexp

Anton Koldaev September 20, 2010 03:18AM

Re: server_name regexp

Anton Koldaev September 20, 2010 03:26AM

Re: server_name regexp

Igor Sysoev September 20, 2010 03:30AM

Re: server_name regexp

Andrey Repin April 23, 2012 06:52AM

Re: server_name regexp

playnet July 02, 2012 11:48AM

Re: server_name regexp

Andrey Repin July 02, 2012 06:06PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 199
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready