Особенность обработки server_name
Andrew Kopeyko
kaa at ramtel.ru
Thu Feb 9 13:04:35 MSK 2006
On Thu, 9 Feb 2006, Vyacheslav Kokorin wrote:
> Здравствуйте, nginx-ru!
>
> Версия nginx/0.3.20
>
> Задача: Разрешить проксировать только один виртуальный хост,
> остальные запретить.
>
> Выдержка из конфиг файла, отвечающего за виртуальные хосты.
>
> server {
> listen 80.93.56.xx:80;
> server_name server.new.local;
> location / {
> access_log /var/log/nginx-access.log; #off;
> proxy_pass http://backend:8080/;
> }
> server {
- listen 80.93.56.xx:80;
+ listen 80.93.56.xx:80 default;
> location / {
> deny all;
> }
> }
>
> server.new.local имеет соответствующую запись в /etc/hosts на клиентской
> машине.
>
> Проблема в том, что при такой схеме запрос на IP 80.93.56.xx с любым server_name
> проксируется на backend.
>
> Если переставить местами блоки server { ... }, то всё работает корректно.
>
> В принципе, ничего страшного нет - нужной функциональности можно
> добиться и так, но ведь, по идее, запрос на backend не должен
> проходить по условию несовпадения server_name. Или я что-то упустил?
Вы пропустили параметр default
http://www.sysoev.ru/nginx/docs/virtual_hosts.html
--
Best regards,
Andrew Kopeyko <kaa at ramtel.ru>
More information about the nginx-ru
mailing list