изменилось поведение $server_name?

Igor Sysoev is at rambler-co.ru
Sun Mar 9 02:00:11 MSK 2008


On Sun, Mar 09, 2008 at 01:50:35AM +0300, Exe wrote:

> Раньше $server_name содержало значения заголовка "Host: ".
> Теперь, после обновления с 0.6.6 до 0.6.26 оно стало содержать
> первое имя хоста в server_name.
> 
> Так и должно быть?
> Конфиг у меня такой:
> ==================
> server_name localhost .site1.com .site2.com;
> [...]
>         location ~ ^/+(get|banner)$ {
>                 fastcgi_pass    unix:/path_to_socket/fcgi.sock;
>                 fastcgi_param   SERVER_NAME     $server_name;
>                 fastcgi_param TEST_NAME $server_name;
>                 fastcgi_param   SERVER_PROTOCOL $server_protocol;
>                 fastcgi_param   SCRIPT_NAME     $fastcgi_script_name;
>                 fastcgi_param   QUERY_STRING    $query_string;
>                 fastcgi_param   REMOTE_ADDR     $remote_addr;
>                 fastcgi_param   REQUEST_METHOD  $request_method;
>                 fastcgi_param   SERVER_PORT     $server_port;
>         }
> ==================
> 
> Вот такой конфиг в fcgi передаёт localhost вне зависимости на какой сайт
> зашли, раньше такого не было.

Да, это изменилось в 0.6.25:

    *) Change: now the "server_name_in_redirect" directive is used instead 
       of the "server_name" directive's special "*" parameter.

    *) Change: now wildcard and regex names can be used as main name in a 
       "server_name" directive.

В данном случае подойдёт $host или $http_host.


-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list