Возникла необходимость логировать POST запросы, и появилась мелкая проблема.
Есть такой конфиг:
http { server { include listen.conf; location / {
proxy_pass http://127.0.0.1:80; }
}
server { include listen.conf; server_name serv.ruwww.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
Вопрос 1: Верно ли я понимаю, что запросы на serv.ru обрабатываются первым server {} ? Вопрос 2: Как сделать так чтобы запросы на serv.ru обрабатывались вторым server {}? Можно ли сделать это не трогая первый блок server {} ?