Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Конкурирующие сервера
On Wed, Apr 20, 2011 at 08:48:56AM -0400, m.latyshev wrote:
> Простейшая конфигурация (для теста):
>
> server {
> listen 80 default_server;
> server_name _;
> return 404;
> }
>
> server {
> listen 80;
> server_name example.com;
> location / {
> rewrite ^.*$ /index.html break;
> if_modified_since off;
> expires -1;
> root /var/www/tests/first/;
> }
> }
>
> server {
> listen 80;
> server_name .example.com;
> location / {
> rewrite ^.*$ /index.html break;
> if_modified_since off;
> expires -1;
> root /var/www/tests/second/;
> }
> }
>
>
> Т.е. все различие между 2 и 3 секцией server
> только в том, что в 3 секции у server_name есть
> "." перед именем домен, а во второй нет,
> ну и root разные.
> Согласно документации ".example.com"
> идентично "example.com *.example.com", но при
> использовании сокращенной формы при
> реконфиге получаем варнинг:
> nginx: [warn] conflicting server name ".example.com" on 0.0.0.0:80,
> ignored
>
> И все запросы на sub.example.com выдают 404.
>
> Если не использовать сокращенную
> запись, то все работает корректно, т.е.
> запросы на example.com попадают во вторую
> секцию, а все запросы на sub.example.com в
> третью, варнинг при этом тоже конечно
> есть.
>
> Чем можно объяснить такое поведение?
> Это баг?
>
> P.S. Конфиг для nginx собирается
> динамически, поэтому хотелось бы
> использовать именно такой вариант, т.е.
> вручную развернуть сокращенную запись
> в полную нет возможности.
Из-за конфликта в хеш имён не добавляются обе формы, которые
соответствуют .example.com.
--
Igor Sysoev
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|