Логика работы server_name, conflicting server name
Slava Kokorin
slava.kokorin at gmail.com
Wed Mar 4 19:02:16 MSK 2009
Привет!
Есть nginx/0.5.35
Возникла необходимость логировать POST запросы, и появилась мелкая проблема.
Есть такой конфиг:
http {
server {
include listen.conf;
location / {
proxy_pass http://127.0.0.1:80;
}
}
server {
include listen.conf;
server_name serv.ru www.serv.ru;
location / {
proxy_pass http://127.0.0.1:80;
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
access_log off;
client_body_in_file_only on; ## This is to keep temp files with
POST requests
}
}
}
Важно: в первом блоке server {} директивы server_names нету вообще.
После добавления второй секции server {}, где явно указал некоторые
server_name, наблюдаю:
# nginx -c /usr/local/etc/nginx/nginx.conf
2009/03/04 18:49:58 [warn] 95904#0: conflicting server name "serv.ru" on
89.108.xx.xx:80, ignored
Так совпало, что одно из этих имён есть hostname сервера
# hostname
serv.ru
Вот тут
http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#server_name
читал про то, что "Первое имя становится основным именем сервера. По
умолчанию используется имя машины (hostname)."
Вопрос 1: Верно ли я понимаю, что запросы на serv.ru обрабатываются первым
server {} ?
Вопрос 2: Как сделать так чтобы запросы на serv.ru обрабатывались вторым
server {}? Можно ли сделать это не трогая первый блок server {} ?
Спасибо!
--
Regards,
Slava
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20090304/3fc6e44c/attachment.html>
More information about the nginx-ru
mailing list