У меня есть несколько виртуальных хостов nginx, все указывают на localhost. Сейчас у них одно и то же имя, разные порты localhost:8080
, localhost:8081
. Вместо этого я бы хотел, чтобы у них был один и тот же порт, разные имена site1:8080
, site2:8080
.
Однако для этого мне придется добавить новые записи /etc/hosts/
для каждого сайта:
127.0.0.1 site1 site2 site3 site4
Вместо этого есть ли способ создать .local
домен, чтобы все, что вводится и заканчивается на это, разрешалось в localhost? Таким образом я мог бы сделать site1.local:8080
, site2.local:8080
и не обновлять /etc/hosts каждый раз. Что-то вроде
127.0.0.1 .local
К сожалению, похоже, это не работает.
Какими способами я могу это сделать, не настраивая что-то вроде этого dnsmasq
?
Я слышал оhttp://readme.localtest.me/что позволяет это сделать, site1.localtest.me:8080
но я много работаю без подключения к Интернету, поэтому в идеале я бы использовал что-то, что не требует подключения к Интернету для разрешения адреса до 127.0.0.1.
Что-нибудь еще, что я мог бы сделать с /etc/hosts
, /etc/resolv.conf
или что-то еще, что могло бы подойти для настройки домена .local?
решение1
Вы не можете использовать подстановочные знаки в /etc/hosts
. Это невозможно сделать без DNS-сервера.
У вас есть два варианта: 1) Поместить каждый необходимый вам пользовательский хост /etc/hosts
(вы можете автоматизировать это с помощью пользовательского скрипта оболочки)
2) Просто используйте пользовательский локальный DNS для этой задачи. Я бы рекомендовалdnsmasq.
Вам просто нужно использовать --address=/local/127.0.0.1
параметр в dnsmasq, где «local» — ваше доменное имя.