Welcome! Log In Create A New Profile

Advanced

Re: server_name regexp

Anton Koldaev
September 20, 2010 03:26AM
Только $host вместо $server_name в fastcgi_param всё равно приходится
использовать там где "server_name _;".
Это корректно?

2010/9/20 Anton Koldaev <koldaevav@gmail.com>

> Благодарю. Таки воспользовался советом.
>
>
> 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
>



--
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: 168
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