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

внутреннее использование vhosts без DNS

Мне нужно обслуживать большое количество веб-сайтов на одном компьютере. Мне нужно будет иметь возможность динамически добавлять и удалять веб-сайты.

Внутренне веб-сервер должен думать, что запрос пришел от виртуального хоста.

Можно ли использовать nginx спереди, который будет обрабатывать запросы в форме: example.com/vhost1/some/path и переписывать их на: vhost1.example.com/some/path

Могу ли я сделать это без настройки DNS для vhost1.example.com?

Нужно ли мне добавить vhost1.example.com к имени хоста на машине?

Спасибо

Если вы хотите протестировать клиентские подключения к vhost project1.example.com, добавьте его в файл / etc / hosts (или его эквивалент в Windows) на клиенте:

10.87.42.22  project1.example.com

А затем попробуйте загрузить URL-адрес в свой браузер.

Вы можете добавить домен с подстановочными знаками * .example.com (это возможно в BIND, не знаю о других DNS-серверах) и настроить nginx vhosts project1.example.com, project2.example.com ... Таким образом, вы не необходимо обновлять DNS для каждого добавленного поддомена!

Я запускаю djbDNS в своей внутренней сети (и ранее делал это для более общедоступных сайтов) с заданным .TLD и подстановочным знаком - так что *.localtest будет разрешаться в заданный IP-адрес, который подхватит Apache или thttpd (с помощью Apache VirtualDocumentRoot). Вы могли бы сделать то же самое и с nginx (обслуживать сайт на основе HTTP_HOST).

Я не совсем понимаю, чего вы пытаетесь достичь. Если это всего лишь внутреннее переназначение, вы должны иметь возможность использовать ряд методов, не связанных с DNS, для его изменения. Единственная причина, по которой вам может потребоваться изменить записи DNS, заключается в том, что это связано с перенаправлением клиентов из example.com к vhost.example.com вместо.