Здравствуйте, Алексей.
Вы писали 29 ноября 2009 г., 23:18:00:
Приветствую всех.
У меня вопрос- почему при
server {
listen 80;
server_name one.ru www.one.ru;
..... тут много всего
дальше еще один
server {
listen 80;
server_name *.two.ru two.ru;
при переходе на любой сайт типо *.one.ru
открывается контент первого "сервера" а по логике вещей должно
выдаватся что такого сайта нет,так?
Нет, не так. Если совпадения с server_name нет, то будет показываться
сайт с первым описанным listen для заданного IP+порт.
Чтобы выдавать "такого сайта нет" нужно описать специально для этого
отдельный server {} с "server_name _; " и прописанным для директив
listen параметром default;
См. документацию:
http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#listen
http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#server_name
Можно ли както это ограничить и зачем тогда прописывать серверы если
всеравно проходят ненужные запросы.
Это не средство ограничения, а средство выбора виртуального хоста.