Назад | Перейти на главную страницу

Смешанные виртуальные хосты на основе IP и имен с nginx

Я установил много доменов, но не знаю, как настроить, если указан только IP-адрес.

скажем, foo.com У меня есть настройка для перехода в web / foo.com / htdocs, я хочу иметь IP-адрес 88.99.66.55, например, домен для web / fook.com / htdocs

server {
    listen       80;
    server_name  85.99.66.55;
    location / {
            root  /home/web/fook.com/htdocs;
    }
 location ~ \.(php|php3|php4|php5)$ {
                root          /home/web/fook.com/htdocs;
                include       fastcgi_params;
                fastcgi_pass  127.0.0.1:9000;
        }
    }

в результате

  [warn]: conflicting server name "85.105.65.219" on 0.0.0.0:80, ignored

IP 0.0.0.0 означает все IP-адреса. Я думаю, вам нужно что-то вроде:

server {
    listen       85.99.66.55:80;
    server_name *.fook.com;
    location / {
        root  /home/web/fook.com/htdocs;
    }
}


server {
    listen       85.99.66.55:80;
    server_name *.arf.com;
    location / {
        root  /home/web/arf.com/htdocs;
    }
}

Вы хотите, чтобы ваши сетевые уровни были прямо здесь. server_name предназначен для заголовка HOST в запросе HTTP (уровень 7), а прослушивание - для IP и порта - сетевого и транспортного уровней или пакетов IP и TCP (уровни 3 и 4).